Echart
Excel
highcharts
jfreechart
柱状图
√
√
√
√
条形图
√
√
√
√
折线图
√
√
√
√
面积图
√
√
√
√
散点图
√
√
√
√
气泡图
√
√
√
√
K线图
√
√
√
×
饼图
√
√
√
√
环形图
√
√
√
√
雷达图
√
√
√
√
力导布局图
√
×
×
×
和弦图
√
×
×
×
曲面图
×
√
×
×
地图
√
×
×
×
仪表盘
×
×
√
√
拖拽重计算
√
×
×
×
数据视图
√
√
×
×
图片导出
√
√
√
√
动态类型切换
√
×
×
×
值域漫游
√
×
√
×
大规模散点
√
√
√
√
数据区域缩放
√
×
√
×
图例开关
√
×
√
×
多维度堆积
√
×
√
√
混搭
√
×
√
√
价格
免费
收费
商业收费
文档收费
兼容性
ie6+
×
ie6+
Java
ECharts
百度商业前端数据可视化团队开发底层基于ZRender(一个全新的轻量级canvas类库)
1.拖拽重计算特性。
2.数据视图的编辑功能,批量的数据修改。
3.动态类型切换,让用户随心所欲的切换到他所需要的图表类型。
4. 特有的力导布局图和和弦图。
5.工具开发时间短,工具稳定性不够。
//例
require.config({
paths:{
'echarts:'./js/echarts',
'echarts/chart/bar' : './js/echarts', // 把所需图表指向单文件
'echarts/chart/line': './js/echarts'
}
});
require.config配置后后就可以通过动态加载使用echarts
//from echarts example
require(
[
'echarts',
'echarts/chart/line', // 按需加载所需图表
'echarts/chart/bar'
],
function (ec) {
var myChart = ec.init(domMain);
var option = {
...//各种属性
}
myChart.setOption(option);
}
);
highcharts
一个用纯JavaScript编写的一个图表库, 能够很简单便捷的在web网站或是web应用程序添加有交互性的图表,并且免费提供给个人学习、个人网站和非商业用途使用。
1. 界面美观、运行速度快。另外HighCharts还有很好的兼容性,能够完美支持当前大多数浏览器。
2. 和ECharts一样支持图例开关和数据区域选择、值域漫游等功能
3.工具稳定性比较好。
4.使用比较方便,属于标准的json属性设置。
引用方法
//核心JS
//导出的JS不用导出功能可与去掉
var option = {
...//各种属性
}
$('#container').highcharts(option);
JFreeChart
JAVA平台上的一个开放的图表绘制类库。它完全使用JAVA语言编写,是为applications, applets, servlets 以及JSP等使用所设计。JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、散点图(scatter
plots)、时序图(time series)、甘特图(Gantt
charts)等等多种图表,并且可以产生PNG和JPEG格式的输出,还可以与PDF和EXCEL关联。
1.稳定、轻量级且功能强大
2.免费开源,但是开发手册和示例要花钱购买
3.API处理简单,很容易上手
4.生成的图表运行顺畅
JFreeChart的缺陷就是只适合生成图片,而且文字、图片都不是特别清晰,还需要进行一些调整,比较麻烦。在交互性方面它又比不上Flash图表工具
原文出处:
[1] eddysoft, Echart、Excel、highcharts、jfreechart对比, http://eddysoft.iteye.com/blog/2017205