数据可视化Echarts

本文整理来自深入Vue3+TypeScript技术栈-coderwhy大神新课,只作为个人笔记记录使用,请大家多支持王红元老师。

什么是数据可视化?

什么是数据可视化呢?
为了清晰有效地传递信息,数据可视化使用统计图形、图表、信息图表和其他工具,使用点、线或条,对数字数据进行编码,让我们可以更加清晰的去认识、理解、表达数据。

前端可视化的工具

前端进行数据可视化的工具非常多,目前使用最多的还是ECharts。

  • 常见的框架: ECharts 、g2、d3、vis、hightChart等等;
  • g2框架封装:bizcharts(react) viser(vue);
  • 地理可视化: g2、L7、高德的 Loca、 菜鸟的 鸟图;
  • 3D可视化:three.js;

认识ECharts

官方解释:一个基于 JavaScript 的开源可视化图表库。

ECharts的历史:
ECharts由百度团队开源,2018年初,捐赠给Apache基金会,成为ASF(Apache Software Foundation,简称为ASF,Apache软件基金会)孵化级项目,2021年1月26日晚,Apache基金会官方宣布 ECharts项目正式毕业,成为Apache顶级项目,2021年1月28日,ECharts 5线上发布会举行。

ECharts的特点:

  • 丰富的图表类型:提供开箱即用的 20 多种图表和十几种组件,并且支持各种图表以及组件的任意组合;
  • 强劲的渲染引擎:Canvas、SVG 双引擎一键切换,增量渲染、流加载等技术实现千万级数据的流畅交互;
  • 专业的数据分析:通过数据集管理数据,支持数据过滤、聚类、回归,帮助实现同一份数据的多维度分析;
  • 优雅的可视化设计:默认设计遵从可视化原则,支持响应式设计,并且提供了灵活的配置项方便开发者定制;
  • 健康的开源社区:活跃的社区用户保证了项目的健康发展,也贡献了丰富的第三方插件满足不同场景的需求;
  • 友好的无障碍访问:智能生成的图表描述和贴花图案,帮助视力障碍人士了解图表内容,读懂图表背后的故事;

使用Echarts的步骤

第一步:我们可以通过以下方式获取ECharts
✅ 从 Apache ECharts 官网下载界面 获取官方源码包后构建;
✅ 在 ECharts 的 GitHub 获取;
✅ 通过 npm 获取 echarts,npm install echarts --save;
✅ 通过 jsDelivr 等 CDN 引入;

第二步:引入Echarts
可以通过不同的方式引入

第三步:初始化Echarts对象,并且设置配置进行绘制
通过echarts.init(dom, theme, options)初始化;
通过setOption方法设置绘制的数据;

ECharts配置信息

canvas vs svg

通常在渲染图表是我们会选择 SVG或者canvas进行渲染,通常情况下,这两种渲染模式是比较相近的,并且是可以相互替换的,但是在一些场景中,它们的表现和能力有一定的差异。对于它们之间的取舍,一直是没有一个明确、标准的答案的,也是一个经常被拿到讨论的话题。

ECharts最初采用的是canvas绘制图表,从ECharts4.x开始,发布了SVG渲染器,提供了另外的一种选择。

那么它们之间到底如何选择呢?
✅ 一般来说,Canvas 更适合绘制图形元素数量非常大(这一般是由数据量大导致)的图表(如热力图、地理坐标 系或平行坐标系上的大规模线图或散点图等),也利于实现某些视觉特效。
✅ 但是,在不少场景中,SVG 具有重要的优势:它的内存占用更低(这对移动端尤其重要)、渲染性能略高、并且用户使用浏览器内置的缩放功能时不会模糊。

canvas vs svg 性能测试

ECharts在不同的设备上,进行了性能的测试,从图片来看,在这些场景中,SVG 渲染器相比 Canvas 渲染器在移动端的总体表现更好。当然,这个实验并非是全面的评测,在另一些数据量较大或者有图表交互动画的场景中,目前的 SVG 渲染器的性能还比不过 Canvas 渲染器。

canvas vs svg 选择

那么到底选择哪一个渲染器呢?
在软硬件环境较好,数据量不大的场景下(例如 PC 端做商务报表),两种渲染器都可以适用,并不需要太多纠结。
在环境较差,出现性能问题需要优化的场景下,可以通过试验来确定使用哪种渲染器。比如在需要创建很多 ECharts 实例且浏览器易崩溃的情况下(可能是因为 Canvas 数量多导致内存占用超出手机承受能力),可以使用 SVG 渲染器来进行改善。
大体上说,如果图表运行在低端安卓机,或者我们在使用一些特定图表如水球图等,SVG 渲染器可能效果更好,数据量很大、较多交互时,可以选用 Canvas 渲染器。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,133评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,682评论 3 390
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,784评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,508评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,603评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,607评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,604评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,359评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,805评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,121评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,280评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,959评论 5 339
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,588评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,206评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,442评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,193评论 2 367
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,144评论 2 352

推荐阅读更多精彩内容