0
有沒有什麼辦法可以在flot中創建多個餅圖而不需要單獨創建每個餅圖並且每個餅圖都有一個div?Flot中的多個餅圖
例如,我有以下數據:
- 年
- 銷售
- 地區
每個餡餅應涵蓋不同的年份。在每個餅圖中,每個切片將顯示每個區域的銷售情況。
此外,是否有任何方法來調整每個餅圖的大小,相對而言,銷售額較高的一年將顯示比銷售較少的一年更大的餅圖。
有沒有什麼辦法可以在flot中創建多個餅圖而不需要單獨創建每個餅圖並且每個餅圖都有一個div?Flot中的多個餅圖
例如,我有以下數據:
每個餡餅應涵蓋不同的年份。在每個餅圖中,每個切片將顯示每個區域的銷售情況。
此外,是否有任何方法來調整每個餅圖的大小,相對而言,銷售額較高的一年將顯示比銷售較少的一年更大的餅圖。
你的問題的答案是否定的,是的是:
下面是一個例子放在一起項的1和2:
標記:
<div id="master" style="width: 500px; height: 500px;"></div>
<div id="slice1" style="width: 100px; height: 100px; background-color: transparent"></div>
<div id="slice2" style="width: 100px; height: 100px; background-color: transparent"></div>
<div id="slice3" style="width: 100px; height: 100px; background-color: transparent"></div>
<div id="slice4" style="width: 100px; height: 100px; background-color: transparent"></div>
JS:
var data = [
{ label: "Series1", data: 90},
{ label: "Series2", data: 50},
{ label: "Series3", data: 70},
{ label: "Series4", data: 70}
];
function otherData(){
var rV = [];
for (var i = 0; i < 4; i++){
rV.push({label:"Series" + (i+1), data: Math.random() * 10});
}
return rV;
}
var chartCenter = [$('#master').width()/2, $('#master').height()/2];
var masterRadius = 200;
var sliceRadius = 40;
var chart1 = $.plot($('#master'), data, {
series: {
pie: {
show: true,
radius: masterRadius
},
},
legend: {
show: false
}
});
var masterData = chart1.getData();
for (var i = 0; i < masterData.length; i++){
var dataPoint = masterData[i];
var angle = dataPoint.startAngle + dataPoint.angle/2;
var sliceCenter = [Math.cos(angle) * masterRadius/2,
Math.sin(angle) * masterRadius/2];
var sliceDiv = $('#slice' + (i + 1));
sliceDiv.css({"position": "absolute", "left": sliceCenter[0] + chartCenter[0] - sliceRadius, "top": sliceCenter[1] + chartCenter[1] - sliceRadius});
$.plot(sliceDiv, otherData(), {
series: {
pie: {
show: true,
radius: sliceRadius,
label: {
show: false
}
}
},
legend: {
show: false
}
});
}
可生產(例如here):
謝謝。我認爲你誤解了我正在問的一件事,但你的回答比我預期的更有趣!我並不是想要展示一個大餡餅,然後把每個小餡餅放在每個餡餅中。我的意思是,使用上面的例子,只有4個小餅會顯示,如果一個小餅的總銷售額爲1,000,那麼整個餅本身將大於另一個總銷售額爲750的餅。我假設每塊餡餅的總大小可以調整,你用大餡餅顯示。 –