2015-10-05 78 views
0

我希望在我的项目中使用charts.js添加饼图。 我搜索并找到了一些简单图表的代码。我的海图编 部分低于:使用chart.js在mysql中使用mysql数据的饼图

printf('<script type="text/javascript" src="extlib/Chart.js"></script>'); 
printf('<script type="text/javascript" src="extlib/jquery-min.js"></script>'); 
printf('<p style="text-align: center;">'); 
printf('<canvas id="mycanvas" width="256" height="256"></canvas>'); 
printf('<script type="text/javascript">'); 
?> 
    var ctx = $("#mycanvas").get(0).getContext("2d"); 
    var piedata = [ 
    { 
    value:30, 
    color:"green", 
    label:"sta1", 
    labelColor : 'white' 
    }, 
    { 
    value:60, 
    color:"red", 
    label:"sta1", 
    labelColor : 'white' 
    }, 
    { 
    value:50, 
    color:"blue" 
    } 
    ] 

    new Chart(ctx).Pie(piedata); 
    <?php 
    printf('</script>'); 

我能为动态chart.That做的是价值应该来自MySQL数据库。 来自DB的数据值数量每次都会有所不同。每个数据值都有特定的颜色。

使用上面的代码,标签不可见显式(仅在鼠标悬停时)。

请给我建议的方式。

+0

与highcharts无关 –

回答

0

遍历数据从JSON响应来和推数据数组中的

var piedata = []; 
$.each(yourJson,function(i,val){ 
piedata.push({value:val.value,color:val.color,label:val.label,labelColor:val.labelColor }); 
}); 

然后设置新的图表(CTX).Pie(piedata);

+0

感谢您的答复。您可以告诉我如何显示此图表的图例? –

+0

如果你可以创建你的问题的小提琴会很好。而对于饼图的文档图例则为legendTemplate:“

    - legend \“><%for(var i = 0; i
  • \”><%if(segments [i] .label){%><%= segments [i] 。标签%><%}%>
  • <%}%>
“ –

+0

我试过你的code.But我怎么设置颜色的值,因为数据库没有。我们必须为每个值手动设置颜色。有什么办法吗? –