当前位置: 首页 > 知识库问答 >
问题:

在canvasjs中使用数据库绘制饼图数据

段干博明
2023-03-14

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

array_push($datapointskwh,array(“label”=>$pr['name'],“y”=>$cr['sum_kwh_diff']));

JS

<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)为我提供了

0:
label: "Floor-1"
y: 1297

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

我怎么才能把它们画出来呢? 而且,数据会增加,所以我想用这种方式来绘制。

共有1个答案

南门刚捷
2023-03-14

您需要将从ARRY_KWH获得的LabelY数据添加到某个数组,并将该数组传递给DataPoints,以便在图形中绘制值。

演示代码:

null

//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();
<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>
 类似资料:
  • 我正试图用PDFbox绘制饼图,但各片之间有白线,有人能帮我吗?是否有此选项? 附上我正在使用的绘制圆弧的代码: 结果的附加图像: 谢啦

  • 问题内容: 我有一个sqlite数据库,其中包含以下格式的基本天气信息: 我如何使用绘制这些数据?在能够绘制数据之前,我必须重新整理数据吗? 问题答案: 要从sqlite数据库中提取数据,您可以使用命令行工具即时提取数据。使用gnuplot可以做到这一点,方法是使用a 生成外壳并使用给定的shell命令的输出进行绘图。 这将为每个图提取所有四个字段(重复先前的文件名/ shell命令)。您还可以使

  • 问题内容: 我是Android开发的初学者,我正在上课。我的职责是将应用程序中的JSON数据显示为文本和图形。我正在使用Retrofit 2在一个活动中将其显示为文本,但是我在使用图形时遇到了问题,我不知道该怎么做(我仍在学习,到目前为止我所做的一切都是在帮助下来自教程)。 数据如下所示(这是一个示例): 我已经找到了,但是我不确定下一步该怎么做。我应该用数据制作两个数组列表(如果答案是,怎么做?

  • 问题内容: 我必须使用pdfbox绘制一个饼图。 令数据为: 主题分数百分比累计分数 Sub-1 80 80 80 Sub-2 70 70150 Sub-3 65 65215 Sub-4 90 90305 Sub-5 55 55360 令半径和中心为100像素和(250,400)。 让我们取平行于x轴的初始线。 绘图的初始线条语句将为: contentStream.drawLine(250,400

  • 我必须用pdfbox绘制一个饼图。 让数据是: 设半径和中心为100像素和(250,400)。 让我们取平行于x轴的初始线 绘制初始行语句将为: contentStream。抽绳(250400350400); 我坚持: a)在距离初始线一定程度的圆圈上找到点的x, y坐标,以绘制半径 b)使用贝塞尔曲线在两点之间绘制圆弧。 任何帮助解决问题将不胜感激!

  • 我有一个JSON,它是: 我正在使用钩子来提取数据。 和已成功提取。 但当我修改时,将其代码为 我得到这个错误: “weather”未定义为no-undef 如何绘制?

  • 主要内容:1. 绘制E-R图,2. 数据库模型图本节以 Visio 2013 版本为例进行讲解,主要介绍如何使用 Visio 设计 E-R 图和数据库模型图。 1. 绘制E-R图 首先打开 Mircosoft Office Visio 2013,会出现以下界面,我们选择并点击“软件“。如果本页面有“数据库Chen's表示法”模板,双击创建即可。 点击“软件“后会显示有关软件的所有模板,双击“数据库Chen's表示法”创建模板,如下所示。 为了让

  • 在数据库mapRule列中包含 IFA 211974009|脚趾深部分厚度烧伤(紊乱)| IFA 28571002|脚趾二度烧伤(失调)| IFA 211968009|脚表面部分厚度烧伤(紊乱)| 所需输出在|符号饼图或垂直条之间 脚趾深部分烧伤(紊乱) 脚趾二度烧伤(失调) 脚浅部烧伤(失调) 怎么得到这个?我正在从mysql中获取数据,我的代码是 在这种情况下如何验证。?