1.1通过代码实例跟我学百度EChart图表控件——在J2EE Web应用系统中应用EChart图表控件的实例
1.1.1常用报表开发工具介绍
1、常用的报表技术及工具
jFreeChart(/jfreechart/download.html)
FusionChart(www.fusioncharts/)
HighChart(www.hcharts/)
EChart(echarts.baidu/index.html)
2、从不同角度说明这4个报表工具。
(1)应用场景
在应用场景上,因为jFreeChart是一个封装好的Jar包,所以支持在应用程序客户端使用,也可以在网站上使用。
而FusionChart、HighChart、EChart都是用于J2EE平台(说白了就是做网站)的报表呈现,不能在客户端使用。
因此,如果不是在网站上使用,而是想在自己的桌面应用程序上呈现报表,那么就只能选择jFreeChart了。
(2)实现技术
mvc实例在实现技术上,jFreeChart产生的报表是通过Java的绘图工具进行绘制的,而在网站页面的时候,jFreeChart将其转化成一张图片。
而FusionChart是通过JS代码进行编写,最终通过Flash呈现报表,而HighChart、EChart 都是通过最新的HTML5技术实现的。
(3)资源丰富
在实现效果方面,基本上所有的报表工具都能实现基本的柱形图、饼图、曲线图等基本的图形。
但是如果要求更高的展现方式,比如通过地图展示,那或许只能通过FusionChart和EChart 了。
而EChart因为是百度的开源项目,所以地图方面做得还不错,。
(4)是否收费
jFreeCharts使用免费(也是开源项目),但是API文档和实例是要收费的(囧)。
FusionChart基本功能免费,但是有些功能也是需要收费的。
HighChart个人用是免费的,商用需要授权收费。
Echart是百度的一个开源项目,完全没费。
(5)特功能
ECharts可以通过地图呈现更加震撼的效果,而这是其他三个报表根据所没有的一个展示方式。
1.1.2百度EChart商业级数据图表控件相关的应用技术
1、ECharts
(1)缩写来自Enterprise Charts
商业级数据图表(百度的报表控件),一个纯Javascript的图表库,可以流畅的运行在PC和移动设备上,兼容当前绝大部分浏览器(IE6/7/8/9/10/11,chrome,firefox,Safari等),底层依赖轻量级的Canvas类库ZRender(Zlevel Render 是一个轻量级的Canvas类库,MVC 封装和数据驱动,提供类Dom事件模型,并让canvas绘图功能更加强大),提供直观,
生动,可交互,可高度个性化定制的数据可视化图表。
创新的拖拽重计算、数据视图、值域漫游等特性大大增强了用户体验,赋予了用户对数据进行挖掘、整合的能力。
(2)echarts.baidu/index.html
2、主要的功能特性
支持折线图(区域图)、柱状图(条状图)、散点图(气泡图)、K线图、饼图(环形图)、雷达图(填充雷达图)、和弦图、力导向布局图、地图、仪表盘、漏斗图、事件河流图等12类图表;
同时提供标题,详情气泡、图例、值域、数据区域、时间轴、工具箱等7个可交互组件;
支持多图表、组件的联动和混搭展现——各种报表混搭,组合,大数据呈现也是很好的。
兼容IE8+以上等主流浏览器(需要HTML5的特性——因为ECharts 底层依赖于Html5 的轻量级的Canvas类库ZRender )。
不依赖其他js 类库(如JQuery系统库),模块化加载,需要哪个部分就是用哪个部分。
3、与ECharts相关的基本名词解析
(1)chart
是指一个完整的图表,如折线图,饼图等“基本”图表类型或由基本的图表组合而成的“混搭”图表,可能包括坐标轴、图例等。
(2)axis
直角坐标系中的一个坐标轴,坐标轴可分为类目型、数值型或时间型。
(3)xAxis
直角坐标系中的横轴,通常并默认为类目型。
(4)yAxis
直角坐标系中的纵轴,通常并默认为数值型。
(5)grid
直角坐标系中除坐标轴外的绘图网格,用于定义直角系整体布局。
(6)legend图例,表述数据和图形的关联
(7)dataRange值域选择,常用于展现地域数据时选择值域范围
(8)dataZoom数据区域缩放,常用于展现大量数据时选择可视范围
(9)roamController缩放漫游组件,搭配地图使用
(10)toolbox辅助工具箱,辅助功能,如添加标线,框选缩放等
(11)tooltip 气泡提示框,常用于展现更详细的数据
(12)timeline时间轴,常用于展现同一系列数据在时间维度上的多份数据
(13)series数据系列,一个图表可能包含多个系列,每一个系列可能包含多个数据

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。