Jquery jqPlot在饼图上显示百分比和值
我正在使用jqPlot和jqPlot.PieRenderer来尝试显示饼图。我想在标签上显示Jquery jqPlot在饼图上显示百分比和值,jquery,jqplot,Jquery,Jqplot,我正在使用jqPlot和jqPlot.PieRenderer来尝试显示饼图。我想在标签上显示值(百分比)。文档中说,您可以传递dataLabel一个标签类型数组,但是,将%d%%(表示百分比)和%d(表示值)放在dataLabelFormatString选项中,结果什么也没有显示 有什么想法吗 { seriesDefaults: { renderer: jQuery.jqplot.PieRenderer, rendererOptions: {
值(百分比)
。文档中说,您可以传递dataLabel
一个标签类型数组,但是,将%d%%
(表示百分比)和%d
(表示值)放在dataLabelFormatString
选项中,结果什么也没有显示
有什么想法吗
{
seriesDefaults: {
renderer: jQuery.jqplot.PieRenderer,
rendererOptions: {
showDataLabels: true,
dataLabels: ['value', 'percent'],
dataLabelFormatString: "%d %d%%",
sliceMargin: 4,
fill: false
}
},
legend: { show:true, location: 'e' }
}
我对那些文件的解读有些不同。它是选项“值”、“百分比”、“标签”或标签数组。不是一系列选项。要做您想要做的事情,您需要将datalabels创建为一个真正的标签数组 例如:
data = [
['Heavy Industry', 12],['Retail', 9], ['Light Industry', 14],
['Out of home', 16],['Commuting', 7], ['Orientation', 9]
];
var total = 0;
$(data).map(function(){total += this[1];})
myLabels = $.makeArray($(data).map(function(){return this[1] + " " + Math.round(this[1]/total * 100) + "%";}));
参见小提琴示例。使用
formatter: function(label, series){
return '<div style="font-size:14pt;text-align:center;padding:2px;color:white;">'+Math.round(series.percent)+"%<br/>" + series.data[0][1] +'</div>';
},
格式化程序:函数(标签,系列){
返回“”+数学舍入(series.percent)+“%
”+series.data[0][1]+”;
},
非常感谢!我希望我能为你提供不止一个代表。非常好-我对文档也有点困惑,并尝试实现一系列选项-你解决了-非常感谢。