FusionCharts绘图插件详解
目前在做项目完成数据统计,需要将统计数据进行图形化分析。将数据做成各种图表,即柱状图和折线图,由此接触了FusionCharts绘图插件,经过查询资料和做Demo,将项目功能完成,特此总结以备将来查阅。
一、FusionCharts简介
FusionCharts是一个JavaScript图表库,可以使用JavaScript创建交互式图表,仪表,地图和仪表板。所支持的常用的图表,新版本的FusionCharts已经不需要引用swf文件了,并且已经支持了json的数据格式
二、数据转换
2.1 原始数据
“石油储量最多的国家”图 国家| 石油储量 - | :-: | -: 委内瑞拉 | 290 沙特| 260 加拿大| 180 伊朗| 140 俄罗斯| 115 阿联酋| 100 美国| 30 中国| 30
2.2 将表格数据转换为JSON格式
{// 表格配置"chart": {"caption": "石油储量最多的国家 [2017-2018]","subCaption": "百万桶 = 一百万桶","xAxisName": "国家","yAxisName": "储量 (百万桶)","numberSuffix": "K","theme": "fusion",},// 表格数据"data": [{"label": "委内瑞拉","value": "290"}, {"label": "沙特阿拉伯","value": "260"}, {"label": "加拿大","value": "180"}, {"label": "伊朗","value": "140"}, {"label": "俄罗斯","value": "115"}, {"label": "阿联酋","value": "100"}, {"label": "美国","value": "30"}, {"label": "中国","value": "30"}]}
上面的JSON中有:创建图表对象用来定义chart元素,然后表格数据的每一行都存储在data数组中, 用来指定标签及其对应的值
Chart对象中有一对键值对,包含键和值
2.3 功能属性能够控制图标上的各种功能元素
- caption属性:图表的标题。
- subCaption 属性:图表的副标题。
- xAxisName属性:x轴名称,yAxisName即y轴的名称。
- numberPrefix属性:单位
- theme属性:主题风格(默认Fusion主题,还有Gammel、Candy、Zune、Ocean)
- palettecolors属性:自定义图表元素颜色或者使用“color”,在每一个元素为其添上自定义颜色
- Border属性:showBorder显示图表边框,还可以自定义边框属性
三、引入FusionCharts Suite XT库
3.1 引入FusionCharts Suite XT JavaScript库
<script type="text/javascript" src="js/fusioncharts.js"></script>
<script type="text/javascript" src="js/fusioncharts.charts.js"></script>
<script type="text/javascript" src="js/fusioncharts.theme.fusion.js"></script>
3.2 为图表创建容器
每个图表,需要一对<div>
元素容器来包裹,对图表添加ID来标记表格
<div id="chart-container">FusionCharts在这里显示</div>
3.3调整外观属性
使用fusion主题来自定义图表,如更改颜色,透明度,字体大小等
四、创建图表的实例
实例图表类型的为column2d,创建图表对象区别名为revenueChart,图表大小为700x400像素的Column 2D图表,dataFormat参数设置为json。还可以使用XML格式的数据setDataURL
<!DOCTYPE html>
<html><head><title>My first chart</title><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><script type="text/javascript" src="js/fusioncharts.js"></script><script type="text/javascript" src="js/fusioncharts.theme.fusion.js"></script><script type="text/javascript" src="js/fusioncharts.charts.js"></script><script type="text/javascript">FusionCharts.ready(function() {var revenueChart = new FusionCharts({"type": "column2d","renderAt": "chart-container","width": "700","height": "400","dataFormat": "json","dataSource": {// 表格配置"chart": {"caption": "石油储量最多的国家 [2017-2018]","subCaption": "百万桶 = 一百万桶","xAxisName": "国家","yAxisName": "储量 (百万桶)","numberSuffix": "K","theme": "fusion",},// 表格数据"data": [{"label": "委内瑞拉","value": "290"}, {"label": "沙特阿拉伯","value": "260"}, {"label": "加拿大","value": "180"}, {"label": "伊朗","value": "140"}, {"label": "俄罗斯","value": "115"}, {"label": "阿联酋","value": "100"}, {"label": "美国","value": "30"}, {"label": "中国","value": "30"}]}});revenueChart.render();})</script></head><body><div id="chart-container">FusionCharts在这里显示</div></body></html>
FusionCharts绘图插件详解相关推荐
- Logstash(二)input、codec插件详解
input input 插件指定数据输入源,一个pipeline可以有多个input插件,我们主要讲解下面的几个input插件: - stdin- file- kafka Input Plugin – ...
- 我的世界服务器物品绑定插件,我的世界灵魂绑定插件详解
我的世界灵魂绑定插件详解.那下面给大家分享的是关于灵魂插件的用途详细介绍,还有关于我的世界服务器防止熊孩子盗窃插件用途介绍哦~希望对大家有所帮助. 游戏园我的世界官方群:325049520(已满)二群 ...
- python turtle库setpos_Python内置海龟(turtle)库绘图命令详解(二)
继续谈利用海龟库(turtle库)做图.在这篇文章(Python内置海龟(turtle)库绘图命令详解(一))中已经介绍了turtle的一些基本画图命令,包括画布的设计.画笔属性与状态的设置以及画笔的 ...
- Snort日志输出插件详解
Snort日志输出插件详解 Snort是一款老×××的开源***检测工具,本文主要讨论他作为日志分析时的各种插件的应用.Snort的日志一般位于:/var/log/snort/目录下.可以通过修改配置 ...
- R统计绘图-PCA详解1(princomp/principal/prcomp/rda等)
此文为<精通机器学习:基于R>的学习笔记,书中第九章详细介绍了无监督学习-主成分分析(PCA)的分析过程和结果解读. PCA可以对相关变量进行归类,从而降低数据维度,提高对数据的理解.分析 ...
- maven常用插件详解
1. 简介 我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,例如编译源代码是由maven- compiler-plugin完成的.进一步说, ...
- Rollup常用插件详解
文章目录 系列文章 @rollup/plugin-node-resolve Options extensions @rollup/plugin-commonjs @rollup/plugin-babe ...
- java canvas详解_HTML5的canvas绘图技术详解
原标题:HTML5的canvas绘图技术详解 本篇教程探讨了HTML5的canvas绘图技术详解,希望阅读本篇文章以后大家有所收获,帮助大家HTML5+CSS3从入门到精通 . < canvas ...
- fullcalendar php,php使用fullcalendar日历插件详解,fullcalendar日历
php使用fullcalendar日历插件详解,fullcalendar日历 最近做课程表的项目,找了好多个插件感觉都不好用,无意间看到了fullcalendar,还挺简单的,很方便,先贴一张项目页面 ...
最新文章
- Python3中typing模块介绍
- with(nolock)的用法
- win10商店下载位置_开始菜单终变身但仍不完美!用这些利器让Win10改头换面吧...
- Excel中删除链接
- 在html页面提交值到动态页面时出现中文值为乱码的解决方案
- pythonopencv测距_python opencv单目测距 小孔成像原理
- 离开,是一个新的开始
- r语言 悲观剪枝_R语言实战(5) ——高级数据管理
- IDEA配置JUnit进行单元测试
- 解决Myeclipse中断点不起作用的方法
- 苹果M1芯片兼容mysql吗_苹果m1芯片相当于什么水平
- springboot redisTemplate 外部反序列化
- CTOD安悦系统目录转移软件
- lodop设置html字体大小无效,[图片问答]LODOP字体设置方法
- ffmpeg遇到Non-monotonous DTS in output stream的问题
- Splunk Filed Alias 字段改名
- 计算机考研调剂专业课,一波七折的计算机考研初试调剂经验教训贴,别放弃,太阳还在...
- 【手机刷机】360 n4s降级039 root刷机(卡刷、线刷等)
- Redis客户端常用命令大全
- 2018云栖大会总结