zoukankan      html  css  js  c++  java
  • 如何使用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;  100%;"></div> 
    </body> 
    </html>

     

  • 相关阅读:
    XMLHttpRequest 对象 的属性与方法
    永远的福气 陈慧琳
    win32.Jadtre.B不用删除文件解决办法(网页嵌入一段恶意js )
    整理一些PHP函数,这些函数用的不是非常多,但是又非常重要,如果适当的用起来,有可以提升性能
    循环file_get_contents()部分内容不能获取的问题
    php下载图片到用户客户端
    php中break,continue,exit的使用与区别
    解决android setText不能int的问题
    用htaccess限制ip访问的方法
    查看表结构的命令show columns from 表名
  • 原文地址:https://www.cnblogs.com/xiewangfei123/p/12835709.html
Copyright © 2011-2022 走看看