基于canvasJS在PHP中制作动态图表


Posted in Javascript onMay 30, 2020

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>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
利用a标签自动解析URL分析网址实例
Oct 20 Javascript
jquery单选框radio绑定click事件实现方法
Jan 14 Javascript
jQuery $.each遍历对象、数组用法实例
Apr 16 Javascript
全面解析Bootstrap手风琴效果
Apr 17 Javascript
JS日期对象简单操作(获取当前年份、星期、时间)
Oct 26 Javascript
使用node.js搭建服务器
May 20 Javascript
JavaScript 中调用 Kotlin 方法实例详解
Jun 09 Javascript
jQuery的Ajax接收java返回数据方法
Aug 11 jQuery
element中的$confirm的使用
Apr 26 Javascript
vue中template的三种写法示例
Oct 21 Javascript
带你使用webpack快速构建web项目的方法
Nov 12 Javascript
Vue实现随机验证码功能
Dec 29 Vue.js
jQuery实现视频展示效果
May 30 #jQuery
vue实现购物车加减
May 30 #Javascript
基于vue和bootstrap实现简单留言板功能
May 30 #Javascript
JS常见内存泄漏及解决方案解析
May 30 #Javascript
react结合bootstrap实现评论功能
May 30 #Javascript
基于JavaScript或jQuery实现网站夜间/高亮模式
May 30 #jQuery
JavaScript类的继承多种实现方法
May 30 #Javascript
You might like
PHP 正则表达式之正则处理函数小结(preg_match,preg_match_all,preg_replace,preg_split)
2012/10/05 PHP
PHP使用DOMDocument类生成HTML实例(包含常见标签元素)
2014/06/25 PHP
php中常见的sql攻击正则表达式汇总
2014/11/06 PHP
thinkphp3.2.2实现生成多张缩略图的方法
2014/12/19 PHP
PHP实现支付宝即时到账功能
2016/12/21 PHP
JavaScript中令你抓狂的魔术变量
2006/11/30 Javascript
jQuery源码分析之Event事件分析
2010/06/07 Javascript
用js解决数字不能换行问题
2010/08/10 Javascript
25个非常棒的jQuery滑块插件和教程小结
2011/09/02 Javascript
使用js修改客户端注册表的方法
2013/08/09 Javascript
jquery获得option的值和对option进行操作
2013/12/13 Javascript
JS对HTML表格进行增删改操作
2016/08/22 Javascript
简单理解vue中track-by属性
2016/10/26 Javascript
利用jquery实现验证输入的是否是数字、小数,包含保留几位小数
2016/12/07 Javascript
Bootstrap.css与layDate日期选择样式起冲突的解决办法
2017/04/07 Javascript
分析JavaScript数组操作难点
2017/12/18 Javascript
vue实现样式之间的切换及vue动态样式的实现方法
2017/12/19 Javascript
canvas轨迹回放功能实现
2017/12/20 Javascript
解决vue 退出动画无效的问题
2020/08/09 Javascript
JS轮播图的实现方法
2020/08/24 Javascript
[06:35]2014DOTA2国际邀请赛 老男孩梦圆西雅图中国军团世界最强
2014/07/22 DOTA
Python基于Matplotlib库简单绘制折线图的方法示例
2017/08/14 Python
python实现将读入的多维list转为一维list的方法
2018/06/28 Python
python判断一个对象是否可迭代的例子
2019/07/22 Python
Python3进制之间的转换代码实例
2019/08/24 Python
python二进制读写及特殊码同步实现详解
2019/10/11 Python
python plt可视化——打印特殊符号和制作图例代码
2020/04/17 Python
党员干部承诺书
2014/03/25 职场文书
生产工厂门卫岗位职责
2014/09/26 职场文书
大学生学习新党章思想汇报
2014/10/25 职场文书
出差报告范文
2014/11/06 职场文书
大专护理专业自荐信
2015/03/25 职场文书
2015年第31个教师节致辞
2015/07/31 职场文书
tensorboard 可视化之localhost:6006不显示的解决方案
2021/05/22 Python
pytorch fine-tune 预训练的模型操作
2021/06/03 Python
Java 定时任务技术趋势简介
2022/05/04 Java/Android