关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » PHP »PHP创建一个炫酷的图表的方法分享

    PHP创建一个炫酷的图表的方法分享

    2017-11-06 21:06:13 出处:IT技术网
    分享

    不管有多少服务器端语言出现,没有谁能够取代PHP。至少是不久的将来都不可能。 PHP还有许多最著名的web应用程序的支柱。

    如果你是一个后端开发人员,并且PHP是你技术堆栈的一部分,那么你会发现本教程非常有用。在这篇文章中,我将讲解如何一步一步使用PHP,FusionCharts的核心JavaScript图表库,以及它的PHP图表包装程序创建漂亮的图表。

    下面就是我们今天要完成的目标图表

    有四个步骤:

    • 步骤0:准备数据
    • 步骤1:引用JS和PHP文件
    • 步骤2:创建图表对象
    • 步骤3:渲染图表

    步骤0:准备数据

    由于需要在计划对数据可视化之前,先准备好数据,所以我叫这一步为步骤0,而非步骤-1。

    FusionCharts既理解XML,也理解JSON数据格式,不过在本教程中,我们只用JSON。我们将通过转换以下数据为FusionCharts认可的JSON键值来启动我们的教程。

    月份 收入
    Oct 490000
    Nov 900000
    Dec 730000

    下面是上述数据的JSON表示:

    [
        {"label": "Oct", "value": "490000"},
        {"label": "Nov", "value": "900000"},
        {"label": "Dec", "value": "730000"}
    ]

    我们将使用上述数据绘制条形图,并格式化我们的行为。对于其他图表类型,可能会有点复杂。

    步骤1:引用依赖性

    在这一步中,我们将包括FusionCharts的核心JavaScript库和PHP图表包装程序。

    具体是这样做到的:

    <? php
    // including FusionCharts PHP wrapper
        include(path/to/fusioncharts.php);
    ?>
    <head>
        <!-- FusionCharts core package files -->
        <script type="text/javascript" src="path/to/fusioncharts.js"></script>
    </head>

    步骤2:创建图表对象

    这一步我们要使用FusionCharts的PHP包装程序类为我们的图表 $coolChart 创建一个对象。创建图表对象的语法如下:

    $objectName = new FusionCharts("chart type",
                  "unique chart ID",
                  "Chart Width",
                  "Chart Height",
                  "HTML Element for Chart",
                  "Chart Data Format",
                  "Data Source");

    下面的图表对象用于我们要在本教程中创建的图表:

    $coolChart = new FusionCharts("bar2d", "myCoolPHPChart", "100%", "600",
                   "barchart-container", "json",
                   '{
                    "chart": {
                        "caption": "Monthly revenue for Q4 - 2015",
                        "xAxisName": "Month",
                        //Other Chart Options
                    },
                    "data": [{
                        "label": "Oct",
                        "value": "490000"
                    } //More Chart Data
                }');

    上述语法中提到的“Data Source”包含两个对象:

    图表对象:包括负责图表交互性和装饰的各种属性。它们中的一些说明如下:

    • showHoverEffect:(布尔型),用于启用或禁用图表中的悬停效果。
    • plotFillHoverColor:(十六进制代码/颜色名称)用来定义鼠标悬停的曲线颜色。
    • plotFillHoverAlpha:(整型)用于定义悬停颜色的透明度。
    • baseFont:(字符串)用于定义图表的字体类型。
    • baseFontSize:(整型)用于设置图表的字体大小。
    • baseFontColor:(十六进制代码/颜色名称)用于设置图表的字体颜色。

    数据对象:包括用于每个数据图的标签和它们相应的值。可以被添加到数据对象内的其它属性是:

    • displayValue:(字符串)允许你为特殊的数据图设置自定义的字符串值。
    • link:(字符串)允许你通过数据图链接到网页,drill-down图表或自定义的JavaScript函数来获取更进一步的图表功能。
    • showLabel:(布尔型)用于启用或禁用特定数据图(栏)的标签显示。

    有很多可用的自定义选项可以根据你的具体使用情况使用。你可以查看这个庞大的图表属性列表来进行进一步探索。

    步骤3:渲染图表

    在渲染图表时,我们要定义HTML<div>元素。下面是做法:

    <body>
        <div id="barchart-container">Cool Chart on its way!</div>
    </body>

    要渲染图表,我们将调用render方法用于上面步骤中创建的图表对象。

    $coolChart->render();

    如果你正确地按照我上面提到的步骤去做,那么现在你应该已经创建好了一个图表。如果你在你的代码中发现任何错误,也可以参阅GitHub代码仓库以获得这个项目的全部源代码。

    更多资源

    在本教程中,我们在图表对象内直接传递JSON用于图表,但也有其他加载数据的方法。可以参考这个文档页面来了解其他加载数据的方法。

    PHP和MySQL被认为是用于服务器端语言和数据库的最好结合之一,目前被许多流行的web应用程序使用。要了解更多有关于它们的用法,可以查看这篇有关如何使用PHP和来自于MySQL数据库数据创建drill-down图表的教程。

    返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    正版 Windows 11产品密钥怎么查找/查看?

    还有3个月,微软将停止 Windows 10 的更新

    Windows 10 终止支持后,企业为何要立即升级?

    Windows 10 将于 2025年10 月终止技术支持,建议迁移到 Windows 11

    Windows 12 发布推迟,微软正全力筹备Windows 11 25H2更新

    Linux 退出 mail的命令是什么

    Linux 提醒 No space left on device,但我的空间看起来还有不少空余呢

    hiberfil.sys文件可以删除吗?了解该文件并手把手教你删除C盘的hiberfil.sys文件

    Window 10和 Windows 11哪个好?答案是:看你自己的需求

    盗版软件成公司里的“隐形炸弹”?老板们的“法务噩梦” 有救了!

    IT头条

    公安部:我国在售汽车搭载的“智驾”系统都不具备“自动驾驶”功能

    02:03

    液冷服务器概念股走强,博汇、润泽等液冷概念股票大涨

    01:17

    亚太地区的 AI 驱动型医疗保健:2025 年及以后的下一步是什么?

    16:30

    智能手机市场风云:iPhone领跑销量榜,华为缺席引争议

    15:43

    大数据算法和“老师傅”经验叠加 智慧化收储粮食尽显“科技范”

    15:17

    技术热点

    商业智能成CIO优先关注点 技术落地方显成效(1)

    用linux安装MySQL时产生问题破解

    JAVA中关于Map的九大问题

    windows 7旗舰版无法使用远程登录如何开启telnet服务

    Android View 事件分发机制详解

    MySQL用户变量的用法

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。