Jquery jqPlot在饼图上显示百分比和值

Jquery jqPlot在饼图上显示百分比和值,jquery,jqplot,Jquery,Jqplot,我正在使用jqPlot和jqPlot.PieRenderer来尝试显示饼图。我想在标签上显示值(百分比)。文档中说,您可以传递dataLabel一个标签类型数组,但是,将%d%%(表示百分比)和%d(表示值)放在dataLabelFormatString选项中,结果什么也没有显示 有什么想法吗 { seriesDefaults: { renderer: jQuery.jqplot.PieRenderer, rendererOptions: {

我正在使用jqPlot和jqPlot.PieRenderer来尝试显示饼图。我想在标签上显示
值(百分比)
。文档中说,您可以传递
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]+”; },
非常感谢!我希望我能为你提供不止一个代表。非常好-我对文档也有点困惑,并尝试实现一系列选项-你解决了-非常感谢。