基于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 相关文章推荐
10个新的最有前途的JavaScript框架
Mar 12 Javascript
jquery实现excel导出的方法
Apr 04 Javascript
基于JQuery 选择器使用说明介绍
Apr 18 Javascript
JS动态调用方法名示例介绍
Dec 18 Javascript
引用外部脚本时script标签关闭的写法
Jan 20 Javascript
JS实现复制内容到剪贴板功能兼容所有浏览器(推荐)
Jun 17 Javascript
jQuery插件passwordStrength密码强度指标详解
Jun 24 Javascript
浅谈Node.js:理解stream
Dec 08 Javascript
简单实现js浮动框
Dec 13 Javascript
Bootstrap模态框插件使用详解
May 11 Javascript
微信小程序页面生命周期详解
Jan 31 Javascript
react实现移动端下拉菜单的示例代码
Jan 16 Javascript
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缓存技术的多种方法小结
2012/08/14 PHP
关于crontab的使用详解
2013/06/24 PHP
php使用imagick模块实现图片缩放、裁剪、压缩示例
2014/04/17 PHP
详细分析PHP 命名空间(namespace)
2020/06/30 PHP
PHPstorm激活码2020年5月13日亲测有效
2020/09/17 PHP
jQuery实现瀑布流布局详解(PC和移动端)
2020/09/01 Javascript
Node.js中JavaScript操作MySQL的常用方法整理
2016/03/01 Javascript
JS延时器提示框的应用实例代码解析
2016/04/27 Javascript
javascript实现起伏的水波背景效果
2016/05/16 Javascript
利用jsonp跨域调用百度js实现搜索框智能提示
2016/08/24 Javascript
微信小程序 网络请求(post请求,get请求)
2017/01/17 Javascript
JavaScript实现审核流程状态的动态显示进度条
2017/03/15 Javascript
js字符限制(字符截取) 一个中文汉字算两个字符
2017/09/12 Javascript
axios的拦截请求与响应方法
2018/08/11 Javascript
es6中new.target的作用和使用场景简单示例分析
2020/03/14 Javascript
js实现限定范围拖拽的示例
2020/10/26 Javascript
Vue单页面应用中实现Markdown渲染
2021/02/14 Vue.js
python实现提取百度搜索结果的方法
2015/05/19 Python
用Python登录好友QQ空间点赞的示例代码
2017/11/04 Python
python+matplotlib绘制饼图散点图实例代码
2018/01/20 Python
python的内存管理和垃圾回收机制详解
2019/05/18 Python
Django密码存储策略分析
2020/01/09 Python
python 中的paramiko模块简介及安装过程
2020/02/29 Python
keras中的History对象用法
2020/06/19 Python
python批量合成bilibili的m4s缓存文件为MP4格式 ver2.5
2020/12/01 Python
python 基于PYMYSQL使用MYSQL数据库
2020/12/24 Python
机械设计及其自动化专业推荐信
2013/10/31 职场文书
外语系毕业生找工作的求职信
2013/11/28 职场文书
优良学风班总结材料
2014/02/08 职场文书
南京青奥会口号
2014/06/12 职场文书
小学生九一八纪念日83周年演讲稿500字
2014/09/17 职场文书
装配出错检讨书
2014/09/23 职场文书
大一新生检讨书
2014/10/29 职场文书
幼儿园见习报告
2014/10/30 职场文书
2014年财政工作总结
2014/12/10 职场文书
典型事迹材料范文
2014/12/29 职场文书