我需要一个饼图并找到Flot。它看起来简单而强大,但我发现的所有例子都描述了使用固定值的“数据”(例如[1,2]),但我需要显示动态数据。我有五个变量必须最终加起来为100.我只想包含那些值大于0的变量,如果它们不总计为100,我想添加一个显示缺失百分比的元素。问题是我不知道如何动态构造数据参数。Flot饼图不显示(修改代码)
我的代码如下。有两个问题是: 1)$ .plot什么都不做 - 没有错误,没有葡萄的 2)我不知道如何添加标签文本
function updatePieChart() {
var total = 0;
var data = new Array();
var verb = "";
var dataIndex = 0;
for (var dataIndex = 0; dataIndex < 5; dataIndex++) {
var duty = "DUTY_" + (dataIndex + 1);
var d = getData(duty + "_PERCENTAGETIMESPENT");
if (isNumeric(d)) {
d = parseInt(d);
if (d > 0) {
total += d;
data[dataIndex] = new Array();
data[dataIndex].push(d);
verb = getData(duty + "_SKILL");
if (verb == "") verb = duty + dataIndex;
log(duty + dataIndex + ' value: ' + d);
}
}
}
var count = data.length;
if (total != 100) {
if (total < 100) {
var missingDataNum = 100 - total;
data[count] = new Array();
data[count].push(missingDataNum);
verb = '**MISSING**';
log(verb + missingDataNum);
}
}
$.plot($('#pieChart'), data,
{
series: {
pie: {
show: true,
}
},
legend: {
show: false
}
});
}
它很接近,但还不够接近。我会编辑我的问题以使其更清楚,并感谢您的回复。 –
你的错误是什么?我更新了我的答案,如果是我的程序,我会做出一些小修复。 – Zak
饼图显示默认值(从左下角到右上角的对角线),但不显示饼图。有一些关于我在series.push语句中格式化数据的方式是不正确的。 –