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我怎麼設置顏色的值,因爲數據庫沒有。我們必須爲每個值手動設置顏色。有什麼辦法嗎? –