canvasjs,创建一个包含可变数据/图例的图形

时间:2014-07-28 14:11:19

标签: javascript jquery graph canvasjs

我尝试使用预定数据(来自数据库的AKA)在canvasjs中创建饼图。 在Canvasjs方面,有一个有用的教师可以将多个数据放入图形中(使用弱类型数组),但我不知道如何为图例执行此操作。我尝试了一些东西,但它似乎还没有完成。

我的代码将在下面发布,如果有人知道如何创建一个传奇或替代它的东西,我将非常感激!

<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript">
window.onload = function () {

   var dps = [{y: 10}, {y: 13}, {y: 18}, {y: 20}];
  var bmp = [{x:"Wii U"}, { x: "3DS"}, { x: "PS3"}, { x: "Xbox One"}];
  //dataPoints. 

  var chart = new CanvasJS.Chart("chartContainer",{
    title :{
        text: "Test title"
    },
    data: [{
      type: "pie",
        dataPoints : dps,
      indexLabels : bmp
    }],
    legendText: bmp
  });

  chart.render();
  var xVal = dps.length + 1;
  var yVal = 15;    
  var updateInterval = 1000;

  var updateChart = function () {


    yVal = yVal +  Math.round(5 + Math.random() *(-5-5));
    dps.push({x: xVal,y: yVal});

    xVal++;
    if (dps.length >  10 )
    {
        dps.shift();                
    }

    chart.render();     

// update chart after specified time. 

};   
}
</script>
    <script type="text/javascript" src="/assets/script/canvasjs.min.js"></script>
</head>
<body>
<div id="chartContainer" style="height: 300px; width: 100%;">
</div>
</body>
</html>

1 个答案:

答案 0 :(得分:1)

你做得很好,但你把标签放到了错误的数组

var dps = [
    {y: 10, legendText:"Wii U", label: "Wii U 10%"}, 
    {y: 13, legendText:"3DS", label: "3DS 13%"}, 
    {y: 18, legendText:"PS3", label: "PS3 18%"}, 
    {y: 20, legendText:"Xbox One", label: "Xbox One 20%"}
];

DEMO

您可以找到更多示例here