私はしばらくの間グーグルで問題の解決策を見つけようとしてきましたが、見つけたものはすべて複雑すぎます。
動作するFlot円グラフがあります。Djangoから次の形式でJSON配列を受け取ります。
[0, 3, 5, 6, 7]
配列は、各シリーズのインスタンスの数を表します(つまり、シリーズ1の0インスタンス、シリーズ2の3インスタンスなど)。
次に、その配列は、次のコードを使用して単純なFlot円グラフに表示されます(theData
上記の配列です)。
function loadTotalChart(theData) {
$.plot($("#total-pie-chart"), theData ,
{
series: {
pie: {
show: true
}
},
label: {
show:true
},
legend: {
show: false
},
grid: {
hoverable: true,
}
});
}
問題は、ラベルが配列内で未定義であるため、円グラフに各系列の「未定義:30%」などが表示されることです。
私がやろうとしているのは、シリーズごとにラベルを追加することです。ラベルは、グラフのすべてのインスタンスで同じです。
JSON配列を取得し、ラベルを追加して、それをFlotに渡すにはどうすればよいですか?
どうもありがとう!
編集:
Liam McCannのおかげで、データがある場合にのみグラフをプロットするための次のコードができました。
function checkJsons(otherJson,newJson)
{
for (var key in otherJson) {if(otherJson[key] != newJson[key]) {return false;}}
return true;
}
function loadWeekChart(theData)
{
var blankData = [0, 0, 0, 0, 0];
if(checkJsons(blankData,theData)){$('#week-pie-chart').empty().append('Nothing to show yet');}
else { $.plot($("#week-pie-chart"), theData ,
{
series: {
pie: {
show: true
}
}
}); }
}