基于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)
php学习php学习订阅用户
上一篇 2022年6月14日 23:09
下一篇 2022年6月14日 23:09

相关推荐

  • (理论篇)localhost与127.0.0.1的区别

    很多人会接触到这个ip地址127.0.0.1。也许你会问127.0.0.1是什么地址?其实127.0.0.1是一个回送地址,指本地机,一般用来测试使用。大家常用来ping 127.0.0.1来看本地ip/tcp正不正常,如能ping通即可正常使用。 对…

    2016年10月24日
    0289
  • PHP入门指南:什么是PHP。

    PHP (Hypertext Preprocessor),译为超文本预处理器,是一种开放源代码的服务器端脚本语言。由于其简单易学、功能强大,PHP 成为了互联网开发的首选语言之一。本文将介绍PHP的历史背景、基础语法、常见应用及学习…

    2023年5月23日
    00
  • 探索php+ajax实现带进度条的大数据排队导出思路

    废话不多说,先上效果图:点击导出,实现点击导出统计完成之后点击确定下面来谈谈实现的思路:前面导出操作简单,从第二个导出操作开始:点击"确定"调用exportCsv函数代码如下:<a class="on&quot…

    2022年6月12日 PHP自学教程
    0137
  • PHP与数据集市的集成。

    随着数据分析在企业中的重要性越来越受到越来越多的关注,数据集市(DW)的建设也逐渐成为了企业数据管理的重要组成部分。而PHP作为一种广泛应用于Web开发的编程语言,其与数据集市的集成也变得越来越重要。数据集市…

    2023年5月21日
    00
  • PHP析构函数的小结

    析构函数的最佳实践 我们使用析构函数完成对资源的及时释放   说明 (1)   关于在析构函数中释放资源的问题,如果我们对效率没有很高很特殊的要求,完全可以不使用析构函数. (2)   如果我们不确定代码后面是否…

    2018年4月13日 PHP自学教程
    0188
  • 如何用PHP实现微信公众号数据统计

    随着微信公众号逐渐成为企业营销的重要工具之一,对公众号数据的统计分析也变得越来越重要。通过数据分析,可以了解公众号的粉丝数量、活跃度、用户转化率等指标,从而优化运营策略和提高营销效果。本文将介绍如何…

    2023年5月18日
    00
  • PHP入门指南:EventLoop编程模型。

    PHP作为一门动态的脚本语言,被广泛应用于Web开发领域。在PHP中,我们通常采用阻塞IO模型来处理客户端请求,即每个请求都需要一个线程来处理,这样会消耗大量的服务器资源。为了解决这个问题,我们可以使用非阻塞IO…

    2023年5月23日
    01
  • 关于php curl异步并发请求http

    先来看下同步的代码以及请求时间。$start_time=date("h:i:sa"); for ($i=0; $i <100 ; $i++) { $urls[]="http://www.downxia.com/downinfo/2315".$i.".html"; GetTitle(geturl(&q…

    2022年6月27日
    0362

联系我们

QQ:951076433

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