关于jquery:JQPlot饼图二维能力

JQPlot Pie Chart 2D Capability

我正在使用 JQPlot 从 MySQL 表中通过 JSON 提供一个饼图,并尝试查看是否有任何专家可以为我回答问题。我的饼图按预期工作,因为它需要一个数组,将其除以总量的百分比,然后显示图表。从这里,是否可以输入另一个值成为饼图的总值,从中减去数组的总值,并显示数组项相对于整个饼图的百分比?

例如,如果我给 JQPlot 这个数组 [[a,2],[b,4],[c,2]],它会输出一个图表,显示 a=25%,b=50%, c=总馅饼的25%。我想给它另一个值 10 来表示整个饼图,从而强制该数组输出 a=20%、b=40%、c=20% 并剩余 20%。

我开始使用的代码是来自 JQPlot 站点的基本饼图示例,我希望的总饼图值设置为从 getGrossTotal.php 输入。如果做不到,那就做不到。我只是想看看如何处理它的想法。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$(document).ready(function(){
$.getJSON('getGrossTop.php', function(grossTop){

var plot1 = jQuery.jqplot ('pieChart', [grossTop],{
    seriesDefaults: {
        renderer: jQuery.jqplot.PieRenderer,
        rendererOptions: {
            showDataLabels: true
        }
    },
    legend: {
        show:true,
        location: 'e'
    },
});

});
});

谢谢!


如果您想在 jqPlot 级别设置(但我认为如果您使用 PHP,这项工作会更干净)
我认为最好在 PHP 级别工作,但是如果您需要处理输入数据数组,您可以通过两种方式进行;

1) 在 $.jqplot() 调用之前

您想向包含所有值总和的 10% 的数组添加另一个元素。
所以

1
2
3
4
5
$.getJSON('getGrossTop.php', function(grossTop){

grossTop.push(['d',8.8]); //here you can insert what and many elements you want

var plot1 = jQuery.jqplot ('pieChart', [grossTop],{

2) 在 $.jqplot() 调用之后

需要在jqPlot对象中直接添加第四个元素

1
plot1.data[0].push(['d',8.8]);

但请记住,您需要重新绘制图表!


没关系。我没有尝试在 javascript 中处理多余的数字,而是回到 PHP 端,合计每个次要数组的值,从数据库中所有内容的总和中减去该结果,然后将该结果推送到主要数组中进行编码。它基本上制作了一个额外的次要数组项,其标签为空,并且值为我想要的数字。当我将所有这些传递给 JQPlot 时,它给了我想要的东西。感谢所有观看的人。