higthcharts&echarts
higthcharts
目前支持 vue等js框架,android和ios,.net等原生扩展,R,Python,该图表用纯js编写,支持typescript
echarts
社区热心的贡献者也为我们提供了丰富的其它语言扩展,比如 Python 的pyecharts,R 语言的 recharts, Julia 的 ECharts.jl 等等。 同时也支持框架和其他语言接口
区别:
1.highcharts是外国的公司的专业团队公司的重要产品, echarts是国内百度公司的一个技术团队维护开的开源工具项目。
2.从收费角度看:highcharts商用需要收费,echarts商用也免费。
3.从学习成本上看:前者有完整的实例演示(html,js),功能介绍和详细的api文档。echarts有实例演示和API文档但是还是偏少。
4.从技术实现看:highcharts基于svg,对于动态的增删节点数据非常灵活,不需要重新绘图。echarts基于canvas的技术,对于处理大量的数据和3D绘图比较有优势,3D绘图是前者无法比的,当然正是因为基于canvas绘图对于动态的增删节点是需要重新绘图加载数据,而且无法动态改变图表的尺寸,只能是缩放。从技术实现上svg和canvas是不同理论的东西,需要根据具体的业务需求选择合适的才是最重要的
HTML5中Canvas和svg的区别
Canvas 和 SVG 都允许您在浏览器中创建图形,但是它们在根本上是不同的。
SVG
SVG 是一种使用 XML 描述 2D 图形的语言。
SVG 基于 XML,这意味着 SVG DOM 中的每个元素都是可用的。您可以为某个元素附加 JavaScript 事件处理器。
在 SVG 中,每个被绘制的图形均被视为对象。如果 SVG 对象的属性发生变化,那么浏览器能够自动重现图形。
Canvas
Canvas 通过 JavaScript 来绘制 2D 图形。
Canvas 是逐像素进行渲染的。
在 canvas 中,一旦图形被绘制完成,它就不会继续得到浏览器的关注。如果其位置发生变化,那么整个场景也需要重新绘制,包括任何或许已被图形覆盖的对象。
Canvas 与 SVG 的比较
下表列出了 canvas 与 SVG 之间的一些不同之处。
Canvas
依赖分辨率
不支持事件处理器
弱的文本渲染能力
能够以 .png 或 .jpg 格式保存结果图像
最适合图像密集型的游戏,其中的许多对象会被频繁重绘
SVG
不依赖分辨率
支持事件处理器
最适合带有大型渲染区域的应用程序(比如谷歌地图)
复杂度高会减慢渲染速度(任何过度使用 DOM 的应用都不快)
不适合游戏应用
说明:
商用的话用echarts的Canvas,自己开发的话用SVG来实现
参考文献:
最后更新于
这有帮助吗?