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

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

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> 
  <p id="chartContainer" style="height: 300px; width: 100%;"></p> 
</body> 
</html>

关于基于canvasJS在PHP中制作动态图表详解的文章就分享到这,如果对你有帮助欢迎继续关注我们哦

本文来自投稿,不代表科技代码立场,如若转载,请注明出处https://www.cwhello.com/40581.html

如有侵犯您的合法权益请发邮件951076433@qq.com联系删除

(0)
上一篇 2022年6月14日 23:09
下一篇 2022年6月14日 23:09

相关推荐

  • 两步操作杜绝他人镜像你的网站技术分享

    大家在建站过程中是否遇到自己经营了几年的网站,突然被别人镜像了,然后百度一搜,发现好多个和你的网站一模一样的网站,今天就来说下《如何杜绝他人镜像你的网站》 第一步: 在网站header.php文件head里面添加...

    2018年1月2日
    0312
  • PHP使用PDO连接数据库的方法。

    PHP是一种流行的服务器端脚本语言,它的主要目的是为了开发Web应用程序。数据库连接是Web应用程序中的重要组成部分,因此,在这篇文章中,我们将介绍如何使用PHP Data Objects (PDO)连接数据库。PDO是PHP中的一个...

    2023年5月21日
    07
  • 第十章排序算法:冒泡排序及选择排序

    说明:排序就是对某组数据进行升序或降序的排列方式,排序都是对索引数组 冒泡排序 从大到小排列-从小到大排列 找到从最大的下标的值和前面的值进行比较,如果前面小于后面的值,进行位置交换,以此类推一直找当...

    2018年4月8日 PHP自学教程
    0268
  • 重蔚自留地php学习第四十二天——对象(面向对象)

    面向对象编程 面向对象编程不是技术,是一种思想而已。 面向对象编程:OOP(object oriented programming) 面向过程和面向对象 面向过程:将一个事务分成具体的某系列功能,然后将一连串的功能连起来使用,从而...

    2018年12月24日 我php路线
    0315
  • 微信小程序中PHP实现实时定位。

    随着移动互联网的发展,很多应用都要求实现实时定位功能。而微信小程序是目前最受欢迎的移动端应用之一,因此,如何在微信小程序中实现实时定位功能成为了开发者们关注的焦点。本文将介绍如何利用PHP语言在微信小...

    2023年6月3日
    04
  • 使用PHP操作Redis数据库。

    Redis是一款基于内存的高性能键值对数据库,可以被用于缓存、队列等多种场景。而PHP是一种开发语言,可以用于Web开发、后端服务等多种场景。如果我们能够将PHP和Redis结合使用,可以达到更优秀的性能和效果。本文...

    2023年5月21日
    00
  • PHP的BREAK跳出语句

    说明:break的作用是退出(跳出)for、while、dowhile、switch语句 案例:输出1-100,在50的时候退出 List() : 获取数组中的元素的值,存储到list中的变量里,每个值必须配一个变量 Each():获取数组中的键值对,...

    2018年3月8日
    0217
  • PHP数组的基本使用

    基本使用 获取到一个元素中的值; 写数组名(变量名)[下标];    //必须知道下标是什么,只能打印输出一个值 数组的遍历--遍历就是一个一个的自动获取 For循环遍历数组--只能遍历索引数组 Foreach循环变量数组--都...

    2018年4月8日 PHP自学教程
    0200

联系我们

QQ:951076433

在线咨询:点击这里给我发消息邮件:951076433@qq.com工作时间:周一至周五,9:30-18:30,节假日休息