2013-12-09 2 views
0

Я создал круговую диаграмму:JQuery Рафаэль Pie Chart

http://jsfiddle.net/amakkawy/cLRYq/

r.customAttributes.segment = function(x, y, r, a1, a2) { 
    var flag = (a2 - a1) > 180, 
    clr = (a2 - a1)/360; 
    a1 = (a1 % 360) * Math.PI/180; 
    a2 = (a2 % 360) * Math.PI/180; 
    return { 
     path: [["M", x, y], ["l", r * Math.cos(a1), r * Math.sin(a1)], ["A", r, r, 0, +flag, 1, x + r * Math.cos(a2), y + r * Math.sin(a2)], ["z"]], 
     fill: "url(http://www.trendir.com/outdoors/landscape-forms-shade-35-umbrella-under.jpg)" 
    }; 
}; 

и не знаете, как установить этот код, чтобы иметь другое изображение/заполнения для каждого сегмента.

Просьба сообщить.

Благодаря

+0

Это был действительно большой первый вопрос. Добро пожаловать в StackOverflow. – digitalextremist

+0

Спасибо - Не совсем уверен, как отделить сегменты, чтобы я мог их заполнить отдельно. Пила аналогичный пост, относящийся к размеру каждого сегмента (http://stackoverflow.com/questions/3773080/update-pie-slice-size-in-raphael-pie-chart?rq=1), но не был уверен, как применять для заполнения. – saharafox

ответ

0

вы можете попробовать с моим кодом

r.customAttributes.segment = function (x, y, r, a1, a2) { 
      var flag = (a2 - a1) > 180, 
        clr = (a2 - a1)/360; 
      a1 = (a1 % 360) * Math.PI/180; 
      a2 = (a2 % 360) * Math.PI/180; 
      return { 
       path: [ 
        ["M", x, y], 
        ["l", r * Math.cos(a1), r * Math.sin(a1)], 
        ["A", r, r, 0, +flag, 1, x + r * Math.cos(a2), y + r * Math.sin(a2)], 
        ["z"] 
       ], 
       fill: "hsb(" + clr + ", .75, .8)" 
      }; 
     }; 

http://jsfiddle.net/jophine/E8EU8/