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

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

(0)

相关推荐

  • php和js实现根据子网掩码和ip计算子网功能示例

    本文实例讲述了php和js实现根据子网掩码和ip计算子网功能.分享给大家供大家参考,具体如下: php <?php $ip = '192.168.6.1'; $mask = '255.255.2.0'; $sub_net = array();//子网 $ip_explode = explode('.', $ip); $mask_explode = explode('.', $mask); foreach ($ip_explode as $key => $ip_num) { $sub_net[]

  • 原生javascript的ajax请求及后台PHP响应操作示例

    本文实例讲述了原生javascript的ajax请求及后台PHP响应操作.分享给大家供大家参考,具体如下: <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <table id="t">

  • php+js实现的无刷新下载文件功能示例

    本文实例讲述了php+js实现的无刷新下载文件功能.分享给大家供大家参考,具体如下: 服务器端页面 步骤就是,设置头文件参数,然后读入并输出文件.下面代码的file_get_contents可以使用fread,fclose代替. download.php <?php $filename = $_GET['filename']; $path = __DIR__."/file/".$filename; Header( "Content-type: application/o

  • thinkphp5 + ajax 使用formdata提交数据(包括文件上传) 后台返回json完整实例

    本文实例讲述了thinkphp5 + ajax 使用formdata提交数据(包括文件上传) 后台返回json.分享给大家供大家参考,具体如下: 知识点总结 1.json格式标准 { 'key':"value" } {"state":"1","msg":"\u7b80\u5386\u6295\u9012\u6210\u529f\uff01"} 前端jquery ajax提交formdata $.ajax({

  • php array 转json及java 转换 json数据格式操作示例

    本文实例讲述了php array 转json及java 转换 json数据格式操作.分享给大家供大家参考,具体如下: php array 转json 数据 $arr = array( "demo1" => "my demo1", "demo2" => array( "demo2_demo1"=>"aaaaaaaa", "demo2_demo2"=>"bb

  • PHP数组对象与Json转换操作实例分析

    本文实例讲述了PHP数组对象与Json转换操作.分享给大家供大家参考,具体如下: 代码 <?php //数组转对象 function arrayToObject($e){ if( gettype($e)!='array' ) return; foreach($e as $k=>$v){ if( gettype($v)=='array' || getType($v)=='object' ) $e[$k]=(object)arrayToObject($v); } return (object)$e

  • thinkphp5框架实现数据库读取的数据转换成json格式示例

    本文实例讲述了thinkphp5框架实现数据库读取的数据转换成json格式.分享给大家供大家参考,具体如下: 首先从数据库读数据,然后调用list_to_tree方法,再调用findchild方法,最后输出 $category = DB::name('Category'); $category_list = $category->select(); $data=$this->list_to_tree($category_list,'category_id','category_parent_i

  • php实现JWT(json web token)鉴权实例详解

    JWT是什么 JWT是json web token缩写.它将用户信息加密到token里,服务器不保存任何用户信息.服务器通过使用保存的密钥验证token的正确性,只要正确即通过验证.基于token的身份验证可以替代传统的cookie+session身份验证方法. JWT由三个部分组成:header.payload.signature 以下示例以JWT官网为例 header部分: { "alg": "HS256", "typ": "JWT

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

    CanvasJS是一个JavaScript库,用于轻松为网页创建其他类型的图表.例如条形图,饼图,柱形图,面积图,折线图等. 让我们以需要创建一个图表的示例为例,在该图表中我们可以显示每月销售和购买的产品.我们将考虑两个数组,我们也可以从数据库中考虑它们.一旦我们从数据库中获取数据并将其存储在数组中,它就可以使用canvasJS轻松绘制动态图形. 创建一个文件并将其保存在项目文件夹中.文件名chart_sample.php包含数组形式的数据,其中第一个数组代表购买的产品,第二个数组代表sols产

  • 基于JS实现textarea中获取动态剩余字数的方法

    案例介绍:我们常见到有的网站有textarea文本框,当你输入的时候,下面有文字提示还能输入多少个字,今天就是要实现这个功能.当然,由于一个页面有好几个textarea,所以使用单个js逻辑进行控制是不行的,得小小的进行封装一下.当然我的封装还有缺漏,但是基本功能是实现了. 首先介绍下单个textarea实现案例 html部分: <textarea id="text_txt1"></textarea> <span id ="num_txt1&qu

  • ASP.NET中制作各种3D图表的方法

    前言 大家都知道通过图表控件,我们即能表示数据又能比较各种图表的数据,例如比较去年和今年的收入.图表的类型也有很多,如柱状图.折线图.条形图.组合图等等. 首先,我将展示如何绘制出一个简单的图表. 简单图表的步骤 步骤1 新建一个"ASP.NET Empty Web Site". 步骤2 在Solution Explorer 中添加新项目,添加new form. 步骤3 工具栏-标准-项目.我们会看到在.Net Framework Component.中有两个图表选项,打勾并保存..N

  • Android中使用TagFlowLayout制作动态添加删除标签

    效果图 简单的效果图(使用开源库)[FlowLayout](" https://github.com/hongyangAndroid/FlowLayout ") 步骤 导包 compile 'com.zhy:flowlayout-lib:1.0.3' <com.zhy.view.flowlayout.TagFlowLayout android:id="@+id/id_flowlayout" zhy:max_select="-1" andro

  • 基于Android在布局中动态添加view的两种方法(总结)

    一.说明 添加视图文件的时候有两种方式:1.通过在xml文件定义layout:2.java代码编写 二.前言说明 1.构造xml文件 2.LayoutInflater 提到addview,首先要了解一下LayoutInflater类.这个类最主要的功能就是实现将xml表述的layout转化为View的功能.为了便于理解,我们可以将它与findViewById()作一比较,二者都是实例化某一对象,不同的是findViewById()是找xml布局文件下的具体widget控件实例化,而LayoutI

  • php制作动态随机验证码

    验证码(CAPTCHA)是"Completely Automated Public Turing test to tell Computers and Humans Apart"(全自动区分计算机和人类的图灵测试)的缩写,是一种区分用户是计算机还是人的公共全自动程序.可以防止:恶意破解密码.刷票.论坛灌水,有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试,实际上用验证码是现在很多网站通行的方式,我们利用比较简易的方式实现了这个功能. 这个问题可以由计算机生成

  • 在vue中添加Echarts图表的基本使用教程

    前言 我们在项目中经常需要使用一些折线图.柱状图.饼状图等等,之前使用过heightCharts,后来觉得这货不开源,只是做展示的话又点浪费时间,于是看了下eCharts,于是在vue-cli搭建的项目中添加了eCharts,下面是具体步骤和自己的一些学习笔记,参照于Echarts3官网 现在的前端一般需要完成将大量的数据,实现可视化.现在是大数据和云计算的时代,所以数据可视化逐渐变成一种趋势.而ECharts和d3.js则是可视化的成熟框架.对于制作的图表可以说是满足你的创造力. 两者相比,D

  • vue-cli项目中使用echarts图表实例

    我们在项目中经常需要使用一些折线图.柱状图.饼状图等等,之前使用过heightCharts,后来觉得这货不开源,只是做展示的话又点浪费时间,于是看了下eCharts,于是在vue-cli搭建的项目中添加了eCharts,下面是具体步骤和自己的一些学习笔记,参照于Echarts3官网 现在的前端一般需要完成将大量的数据,实现可视化.现在是大数据和云计算的时代,所以数据可视化逐渐变成一种趋势.而ECharts和d3.js则是可视化的成熟框架.对于制作的图表可以说是满足你的创造力. 两者相比,D3 它

  • Python实战之实现获取动态图表

    目录 前言 开发工具 环境搭建 百度指数 微博指数 结果展示 前言 利用Python实现获取动态图表,废话不多说~ 让我们愉快地开始吧~ 开发工具 Python版本: 3.6.4 相关模块: re模块: requests模块: urllib模块: pandas模块: 以及一些Python自带的模块. 环境搭建 安装Python并添加到环境变量,pip安装需要的相关模块即可. 看一下B站2019年「数据可视化」版块的情况,第一个视频超2百万的播放量,4万+的弹幕 百度指数 获取百度指数,首先需要登

  •  Python 代码制作动态鞭炮

    目录 1 视频帧采样 2 将图片转为字符画 2.1 创建像素-字符索引 2.2 将图片逐像素转换为字符 3 将字符图像合成视频 4 完整代码 5 参考 前言: 放鞭炮贺新春,在我国有两千多年历史.关于鞭炮的起源,有个有趣的传说. 西方山中有焉,长尺余,一足,性不畏人.犯之令人寒热,名曰年惊惮,后人遂象其形,以火药为之.——<神异经> 当初人们燃竹而爆,是为了驱吓危害人们的山魈.据说山魈最怕火光和响声,所以每到除夕,人们便“燃竹而爆”,把山魈吓跑.这样年复一年,便形成了过年放鞭炮.点红烛.敲锣打

随机推荐