Ruu*_*ten 24 jquery flot pie-chart
我无法弄清楚如何让flot.pie将标签中显示的数据从"原始数据"的百分比更改为实际数据.在我的例子中,我创建了一个饼图,其中包含已读/未读消息的数量.
读取消息数:50.未读消息数:150.
创建的饼图显示读取消息的百分比为25%.在这个位置我想显示实际的50条消息.见下图:

我用来创建馅饼的代码:
var data = [
{ label: "Read", data: 50, color: '#614E43' },
{ label: "Unread", data: 150, color: '#F5912D' }
];
Run Code Online (Sandbox Code Playgroud)
和:
$(function () {
$.plot($("#placeholder"), data,
{
series: {
pie: {
show: true,
radius: 1,
label: {
show: true,
radius: 2 / 3,
formatter: function (label, series) {
return '<div style="font-size:8pt;text-align:center;padding:2px;color:white;">' + label + '<br/>' + Math.round(series.percent) + '%</div>';
},
threshold: 0.1
}
}
},
legend: {
show: false
}
});
});
Run Code Online (Sandbox Code Playgroud)
这可能吗?
在@Ryley的回答中,我找到了一个肮脏的解决方案.当我输出series.data时,返回值"1,150"和"1,50".我想出了减去返回值的前2个字符并显示减去的值的想法.
String(str).substring(2, str.lenght)
Run Code Online (Sandbox Code Playgroud)
这是我用这个解决方案创建的饼图:

这不是最好的解决方案,但它对我有用.如果有人知道更好的解决方案....
Ruu*_*ten 44
我找到了问题的答案.数据对象是多维数组.要获取实际数据,请使用以下代码:
$(function () {
$.plot($("#placeholder"), data,
{
series: {
pie: {
show: true,
radius: 1,
label: {
show: true,
radius: 2 / 3,
formatter: function (label, series) {
return '<div style="font-size:8pt;text-align:center;padding:2px;color:white;">' + label + '<br/>' + series.data[0][1] + '</div>';
},
threshold: 0.1
}
}
},
legend: {
show: false
}
});
});
Run Code Online (Sandbox Code Playgroud)
注意代码"series.data [0] [1]"来提取数据.
| 归档时间: |
|
| 查看次数: |
24929 次 |
| 最近记录: |