首页 > 编程语言 >【开发小技巧】02-如何使用canvasJS在PHP中制作动态图表?

【开发小技巧】02-如何使用canvasJS在PHP中制作动态图表?

时间:2022-11-30 11:03:39浏览次数:43  
标签:02 10 canvasJS sold label purchased array PHP true

【开发小技巧】02-如何使用canvasJS在PHP中制作动态图表?_数组

来源 | https://www.geeksforgeeks.org/how-to-make-dynamic-chart-in-php-using-canvasjs/

CanvasJS是一个JavaScript库,用于轻松为网页创建其他类型的图表。例如条形图,饼图,柱形图,面积图,折线图等。

让我们以需要创建一个图表的示例为例,在该图表中我们可以显示每月销售和购买的产品。我们将考虑两个数组,我们也可以从数据库中考虑它们。一旦我们从数据库中获取数据并将其存储在数组中,它就可以使用canvasJS轻松绘制动态图形。

创建一个文件并将其保存在项目文件夹中。文件名chart_sample.php包含数组形式的数据,其中第一个数组代表购买的产品,第二个数组代表sols产品列表。现在,使用canvasJS绘制图形。

例如:


<?php
// First array for purchased product
$purchased= array(10, 15, 19, 0, 5, 7, 0, 0, 12, 13, 10, 1);

// Second array for sold product
$sold= array(7, 12, 14, 0, 3, 7, 0, 0, 10, 7, 5, 0);

// Data to draw graph for purchased products
$dataPoints = array(
array("label"=> "Jan", "y"=> $purchased[0]),
array("label"=> "Feb", "y"=> $purchased[1]),
array("label"=> "March", "y"=> $purchased[2]),
array("label"=> "April", "y"=> $purchased[3]),
array("label"=> "May", "y"=> $purchased[4]),
array("label"=> "Jun", "y"=> $purchased[5]),
array("label"=> "July", "y"=> $purchased[6]),
array("label"=> "Aug", "y"=> $purchased[7]),
array("label"=> "Sep", "y"=> $purchased[8]),
array("label"=> "Oct", "y"=> $purchased[9]),
array("label"=> "Nov", "y"=> $purchased[10]),
array("label"=> "Dec", "y"=> $purchased[11])
);

// Data to draw graph for sold products
$dataPoints2 = array(
array("label"=> "Jan", "y"=> $sold[0]),
array("label"=> "Feb", "y"=> $sold[1]),
array("label"=> "March", "y"=> $sold[2]),
array("label"=> "April", "y"=> $sold[3]),
array("label"=> "May", "y"=> $sold[4]),
array("label"=> "Jun", "y"=> $sold[5]),
array("label"=> "July", "y"=> $sold[6]),
array("label"=> "Aug", "y"=> $sold[7]),
array("label"=> "Sep", "y"=> $sold[8]),
array("label"=> "Oct", "y"=> $sold[9]),
array("label"=> "Nov", "y"=> $sold[10]),
array("label"=> "Dec", "y"=> $sold[11])
);

?>

<!DOCTYPE HTML>
<html>
<head>
<script src="https://canvasjs.com/assets/script/canvasjs.min.js">
</script>
<script>
window.onload = function () {

var chart = new CanvasJS.Chart("chartContainer", {
animationEnabled: true,
title:{
text: "Monthly Purchased and Sold Product"
},
axisY: {
title: "Purchased",
titleFontColor: "#4F81BC",
lineColor: "#4F81BC",
labelFontColor: "#4F81BC",
tickColor: "#4F81BC"
},
axisY2: {
title: "Sold",
titleFontColor: "#C0504E",
lineColor: "#C0504E",
labelFontColor: "#C0504E",
tickColor: "#C0504E"
},
toolTip: {
shared: true
},
legend: {
cursor:"pointer",
itemclick: toggleDataSeries
},
data: [{
type: "column",
name: "Purchased",
legendText: "Purchased",
showInLegend: true,
dataPoints:<?php echo json_encode($dataPoints,
JSON_NUMERIC_CHECK); ?>
},
{
type: "column",
name: "Sold",
legendText: "Sold",
axisYType: "secondary",
showInLegend: true,
dataPoints:<?php echo json_encode($dataPoints2,
JSON_NUMERIC_CHECK); ?>
}]
});
chart.render();

function toggleDataSeries(e) {
if (typeof(e.dataSeries.visible) === "undefined"
|| e.dataSeries.visible) {
e.dataSeries.visible = false;
}
else {
e.dataSeries.visible = true;
}
chart.render();
}

}
</script>
</head>

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



结果如下:

【开发小技巧】02-如何使用canvasJS在PHP中制作动态图表?_php_02





【开发小技巧】02-如何使用canvasJS在PHP中制作动态图表?_php_03

【开发小技巧】02-如何使用canvasJS在PHP中制作动态图表?_php_04

标签:02,10,canvasJS,sold,label,purchased,array,PHP,true
From: https://blog.51cto.com/u_15809510/5897845

相关文章

  • 2022-12-30Spring-1
    1.静态资源配置原理SpringBoot启动默认加载xxxAutoConfiguration类(自动配置类)。SpringMVC功能的自动配置类WebMvcAutoConfiguration生效,给容器中配置了什么。配置文件......
  • PHP获取今天,昨天,本月,上个月,本年 起始时间戳
    https://cloud.tencent.com/developer/article/1885951?from=15425date_default_timezone_set("Asia/Shanghai");//设置为上海时间否则开始时间会相差8个小时//获取......
  • NFLSPC #5 & NOIP2022 游记
    Day?接到百度之星决赛电话的时候,区运会还没有推迟,我也不知道这周末会补考。这样NOIP,区运会,百度之星,还有补考,成功撞在了周末短短两天内。我为区运会推掉了百度之星的邀......
  • IntelliJ IDEA 2022.2.3注释快捷键(java)
    注释行和代码块使用Ctrl斜杠注释掉任意一行使用相同的快捷方式取消注释注释行:将文本光标置于该行中的任意位置,然后按Ctrl斜杠。选择几行,然后使用Ctrl斜杠注释掉要......
  • day02--变量,常量
    变量Java是一种强类型语言,每个变量都必须声明其类型。Java变量是程序中最基本的存储单位,其要素包括变量名,变量类型和作用域。变量作用域publicclassdemo01{......
  • kx-000002-顺序表-初始化
    顺序表头结点定义请参考:https://www.cnblogs.com/kxwslmsps/p/16937235.html顺序表的初始化函数/***@brief功能:初始化顺序表\n*@param[in]plist:表结构指针*@p......
  • 2022ccpc绵阳(2022 China Collegiate Programming Contest (CCPC) Mianyang Onsite)
    链接:https://codeforces.com/gym/104065A#include"bits/stdc++.h"usingnamespacestd;usingi64=longlong;constexprintN=2E5;boolvis[N+10][11][11......
  • 云计算CloudSim20221128
    在写顺序策略调度虚拟机时出现了问题原本应该是设置4台虚拟机8个任务按顺序分配,但是这里只有四个任务核两台机器发现日志中有这么几行在host中分配虚拟机失败因为MIP......
  • 云计算CloudSim20221129
    贪心调度策略原本的想法是先计算time矩阵即每个任务在每个虚拟机下运行所需的时间首先维护每个虚拟机执行已经绑定的任务所需要的总时间然后我们按任务编号的顺序循环......
  • COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件失败,原因是出
    文章来源:https://blog.csdn.net/qq_36508381/article/details/122836205这个问题在网上的解决方案都是:1、点击Win+R键输入comexp.msc-32(如果按钮的Word是64位的输入dc......