首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用canvasjs数据库在饼图上绘制数据

用canvasjs数据库在饼图上绘制数据
EN

Stack Overflow用户
提问于 2020-06-27 09:57:41
回答 1查看 339关注 0票数 0

我正在使用canvasjs,我想把database中的数据绘制成饼图。我能够从DB获取数据并将其传递给数组。

array_push($dataPointskWh, array("label"=>$pr['name'],"y"=>$cr['sum_kwh_diff']));

JS

代码语言:javascript
复制
<script>
  var arry_kwh = [];
  arry_kwh = <?php echo json_encode($dataPointskWh, JSON_NUMERIC_CHECK); ?>;
  console.log(arry_kwh);

var chart = new CanvasJS.Chart("chartContainer2", {
        animationEnabled: true,
        title: {
            text: "Last Month Floor Wise kWh"
        },
        data: [{
            type: "pie",
            //startAngle: 240,
            //showInLegend: true,
            yValueFormatString: "##0.00\" kWh\"",
            indexLabel: "{label} {y}",
            dataPoints: [
              // here I want to add the data points
            ]
        }]
    });
    chart.render();

console.log(array_kwh)给了我

代码语言:javascript
复制
0:
label: "Floor-1"
y: 1297

1:
label: "Floor-2"
y: 7.7

我怎么能策划他们?而且,数据会增加,所以我想用这种方式绘制。

EN

回答 1

Stack Overflow用户

发布于 2020-06-27 14:18:18

您需要将从labely获得的数据添加到某些数组中,并将该数组传递给dataPoints,以绘制图形中的值。

演示代码

代码语言:javascript
复制
//your data
var arry_kwh =[{
"label": "Floor-1",
"y": 1297
},{
"label": "Floor-2",
"y": 780}];
var dataPoints =[];
//loop through the array and add value to dataPoints array
$.each(arry_kwh , function(key, value){
        dataPoints.push({ y :value.y , indexLabel : value.label});
    }); 
var chart = new CanvasJS.Chart("chartContainer2", {
        animationEnabled: true,
        title: {
            text: "Last Month Floor Wise kWh"
        },
        data: [{
            type: "pie",
            yValueFormatString: "##0.00\" kWh\"",
            dataPoints:dataPoints //passing values 
        }]
    });
    chart.render();
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script type="text/javascript" src="https://canvasjs.com/assets/script/canvasjs.min.js"></script>

<div id="chartContainer2" style="height: 300px; width: 100%;"></div>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62608503

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档