Highcharts、Echarts、D3、该用哪个

  • 收费角度
  • 兼容性
  • 难易程度
  • 适用场景

是否收费

  • Echarts 完全免费,代码开源。
  • D3 完全免费,代码开源。
  • Highcharts 非商业免费,商业需授权,代码开源。

兼容性

  • Highcharts 兼容 IE6 及以上的所有主流浏览器,支持移动端缩放、手势操作。
  • Echarts 兼容 IE6 及以上的所有主流浏览器,支持移动端的缩放和手势操作。
  • D3 兼容IE9 及以上的所有主流浏览器,支持移动端的缩放和手势操作。

难易程度

  • Highcharts 基于SVG,方便自己定制,但图表类型有限。
  • Echarts 基于Canvas,适用于数据量比较大的情况。
  • D3.v3 基于SVG,方便自己定制;D3.v4支持Canvas+SVG,如果计算比较密集,也可以选择用Canvas。除此之外,D3图表类型非常丰富,几乎可以满足所有开发需求,但代码相对于以上两个插件来说,会稍微难一点。

而这些都是基于SVG 和Canvas的,那么下边是他们的区别

Canvas

  1. 依赖分辨率
  2. 不支持事件处理器
  3. 文本渲染力弱
  4. 能够以 .png 或 .jpg 的格式保存结果图形
  5. 最合适图像密集型的游戏,其中许多的对象会被频繁的重绘

SVG

  1. 不依赖分辨率
  2. 支持事件处理器
  3. 最合适带有大型渲染区域的应用程序(如,百度地图、谷歌地图等等)
  4. 不适合游戏的应用
  5. 复杂度高会减慢渲染的速度
  6. 以单个文件的形式独立存在,后缀名为.svg,可以在html文件中以img标签的src,元素背景,框架等引入 或者 直接在html文件中引入SVG标签

你可能感兴趣的:(javascript随笔)