手把手带你入门ECharts
1.什么是ECharts
ECharts,缩写来自Enterprise Charts,商业级数据图表,是来自百度商业前端数据可视化团队EFE的一个开源的纯Javascript的图表库,可以流畅的运行在PC和移动设备上,兼容当前绝大部分浏览器(IE6/7/8/9 /10/11,chrome,firefox,Safari等),底层依赖轻量级的Canvas类库ZRender,提供直观,生动,可交互,可高度个性化定制的数据可视化图表。

自2013年6月发布第一个版本以后,到现在已经经过了几十次版本迭代,目前最新版本是2020年3月发布的ECharts 4.7.0
2.ECharts可以做什么
ECharts 提供了常规的折线图、柱状图、散点图、饼图、K线图,用于统计的盒形图,用于地理数据可视化的地图、热力图、线图,用于关系数据可视化的关系图、旭日图,多维数据可视化的平行坐标,还有用于 BI 的漏斗图,仪表盘,并且支持图与图之间的混搭。
除了这些内置的包含丰富功能的图标,ECharts还提供自定义系列,可以从数据映射到任何你想要的图形,并且可以和已有的交互组件结合使用而不需要操心其他事情。






ECharts还提供了基于 WebGL 的 ECharts GL,可以像使用 ECharts 普通组件一样轻松的使用 ECharts GL 绘制出三维的地球,建筑群,人口分布的柱状图,在这基础之上还可以通过不同层级的画面配置项,很轻松配置得到艺术化的画面

3.ECharts基础概念
(1) echarts实例
一个网页中可以创建多个 echarts 实例。每个 echarts 实例 中可以创建多个图表和坐标系等等(用 option 来描述)。准备一个 DOM 节点作为 echarts 的渲染容器,就可以在上面创建一个 echarts 实例。每个 echarts 实例独占一个 DOM 节点。
简言之,一个echarts实例对应一个DOM节点,用一个option来描述(option中所有的参数都是以Key-Value的格式来组织的)。

(2)组件component
echarts 中的各种内容,被抽象为“组件”。例如,echarts 中至少有这些组件:xAxis(直角坐标系 X 轴)、yAxis(直角坐标系 Y 轴)、grid(直角坐标系底板)、angleAxis(极坐标系角度轴)、polar(极坐标系底板)、geo(地理坐标系)、tooltip(提示框组件)、toolbox(工具栏组件)、series(系列)等。使用时,只需在一个echarts实例的option中声明各个组件(必须要包含一个series),这些组件就会出现在图中。

当我们对不同的数据进行可视化时,可以通过选取不同的组件对图表进行设置,以满足我们的可视化需求。
(3)系列series
在echarts 里,系列(series)是指:一组数值以及他们映射成的图,可以看作一种特殊的组件。一个 系列 包含的要素至少有:一组数据、图表类型(series.type)、以及其他的关于这些数据如何映射成图的参数(例如图表摆放的位置、图表大小等)。

其中用于可视化的数据可以在包含series中,也可以在名叫dataset的组件中单独声明数据,echarts会自动读取并默认按照二维表(二维数组)的列作为一个维度(dimension)来映射到图表当中。

以上三个概念是ECharts中最基础的部分,简单来说,DOM节点构成了echarts实例的渲染容器,即图表展示的容器;echarts实例拥有一个option属性,用来描述对图表的各种需求,包括:有什么数据、要画什么图表、图表长什么样子、含有什么组件、组件能操作什么事情等等;根据需要可以选取相应的各种组件component,在option中声明这些组件(及其参数),即可在图表中显示各种组件;系列series是特殊的组件,描述了数据及其映射成的图,是一个echarts实例的option中不可缺少的部分。
4.ECharts入门实践
了解了上述三个基础概念,就能写出我们的第一个ECharts图表了,让我们从较简单的柱状图和折线图入手。
(1)获取ECharts
可以通过以下几种方式获取 ECharts。
- 从 Apache ECharts (incubating) 官网下载界面 获取官方源码包后构建。
- 在 ECharts 的 GitHub 获取构建好的js文件。
- 通过 npm 获取 echarts,
npm install echarts --save - 通过 jsDelivr 等 CDN 引入
(2)然后引入ECharts
通过标签,从CDN直接引入构建好的echarts文件

(3)准备DOM节点
为ECharts准备一个具备宽高的DOM节点

(4)初始化ECharts实例
根据准备的DOM节点,初始化ECharts实例

(5)指定图表的配置项和数据
在option中配置所有需要的组件(包括series)

在echarts实例中使用指定的配置项option和数据显示图表


(6)更改图表样式
这里介绍一下比较常用的样式设置方式——直接的样式设置。在 ECharts 的 option 中,有很多地方可以设置 itemStyle、lineStyle、areaStyle、label 等属性。改变这些属性可以直接设置图表中图形元素的颜色、线宽、点的大小、标签的文字、标签的样式等等。
让我们尝试一下改变折线图的样式,让折线图和柱状图的颜色有所区别。

下面看看样式的设置效果,现在折线图和柱状图的颜色就已经不同了。

这样我们的第一个ECharts图表就完成啦!有兴趣的同学还可以看看官网的教程和API文档,深入了解ECharts。
手把手带你入门ECharts的更多相关文章
- 从0开始手把手带你入门Vue3-全网最全(1.1w字)
天命不足畏,祖宗不足法. --王安石 前言 本文并非标题党,而是实实在在的硬核文章,如果有想要学习Vue3的网友,可以大致的浏览一下本文,总体来说本篇博客涵盖了Vue3中绝大部分内容,包含常用的Com ...
- 零基础学Java,PayPal技术专家手把手带你入门
在最权威的 TIOBE 编程语言排名榜单上,Java 常年稳居第一,可以说是世界上应用最为广泛的一门语言. 同时,在微服务.云计算.大数据.Android App 开发等领域,Java 也是当之无愧的 ...
- Django:手把手带你入门
一.开发环境: Python:2.7:PyCharm 4 二.Django的安装: 打开Pycharm --> 新建项目--> 看图操作--> 自动安装Django环境 三.创建第一 ...
- 手把手带你入门kubernetes部署
实验环境准备 k8s-master 192.168.2.156 k8s-node节点 192.168.2.161 Ps:两台保证时间同步,firewalld防火墙关闭,selinxu关闭,系统 ...
- 手把手带你入门 Spring Security!
Spring Security 是 Spring 家族中的一个安全管理框架,实际上,在 Spring Boot 出现之前,Spring Security 就已经发展了多年了,但是使用的并不多,安全管理 ...
- 手把手带你入门神秘的RxJava
1.什么是RxJava• Rx是Reactive Extensions的简写,翻译为响应的扩展.也就是通过由一方发出信息,另一方响应信息并作出处理的核心框架代码. • 该框架由微软的架构师Erik M ...
- 手把手带你入门numpy,从此数据处理不再慌【四】
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是numpy专题的第四篇文章,numpy中的数组重塑与三元表达式. 首先我们来看数组重塑,所谓的重塑本质上就是改变数组的shape.在保 ...
- 可能是史上最强大的js图表库——ECharts带你入门
PS:之前的那篇博客Highcharts——让你的网页上图表画的飞起 ,评论中,花儿笑弯了腰 和 StanZhai 两位仁兄让我试试 ECharts ,去主页看到<Why ECharts ?&g ...
- 史上最强大的js图表库——ECharts带你入门(转)
出处:http://www.cnblogs.com/zrtqsk/p/4019412.html PS:之前的那篇博客Highcharts——让你的网页上图表画的飞起 ,评论中,花儿笑弯了腰 和 Sta ...
随机推荐
- 06分频计数器之LED闪烁1
一设计功能是:让LED灯每1秒亮一次,再灭一秒,闪烁时间周期为2秒. 二分频的介绍: (一)设计方式:IP核和自己动手写. (二)对于分频的构成:一个是计数器,还有时钟翻转.方法一是计满整个周期,一半 ...
- [AT2306]Rearranging(拓扑序)
[AT2306]Rearranging(拓扑序) 只有luogu 题面(luogu): 有一个$n$个数组成的序列$a_{i}$. 高桥君会把整个序列任意排列,然后青木君可以选择两个相邻的互质的数交换 ...
- java面向对象思想之继承
一.什么是继承 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为.可以联系生活进行理解,相当于父亲和儿子的关系.父亲有的属 ...
- Ubuntu16.04 oh_my_zsh 安装与配置
参考文章 Ubuntu上使终端显示Git分支(oh-my-zsh) oh-my-zsh的安装与基本配置 Ubuntu 下安装oh-my-zsh 前言 之前学习Laravel的时候,经常要切换git分支 ...
- 那么回到我们开始的问题,通常一棵B+树可以存放多少行数据?
这里我们先假设B+树高为2,即存在一个根节点和若干个叶子节点,那么这棵B+树的存放总记录数为:根节点指针数*单个叶子节点记录行数. 上文我们已经说明单个叶子节点(页)中的记录数=16K/1K=16.( ...
- ThreadPoolTaskExecutor原理、详解及案例
为什么要用线程池? 服务器应用程序中经常出现的情况是:单个任务处理的时间很短而请求的数目却是巨大的. 构建服务器应用程序的一个过于简单的模型应该是:每当一个请求到达就创建一个新线程,然后在新线程中为请 ...
- kafka producer如何优化打入速度?
增加线程 提高 batch.size 增加更多 producer 实例 增加 partition 数 设置 acks=-1 时,如果延迟增大:可以增大 num.replica.fetchers(fol ...
- mq 的缺点?
(1)系统可用性降低 系统引入的外部依赖越多,越容易挂掉,本来你就是 A 系统调用 BCD 三个系统的接口就好了,人 ABCD 四个系统好好的,没啥问题,你偏加个 MQ 进来,万一MQ 挂了咋整?MQ ...
- rabbitmq有哪些重要角色和组件?
rabbitmq有哪些重要角色? 生产者:消息的创建者,负责创建和推送数据到消息服务器 消费者:消息的接收方,用于处理数据和确认消息 代理:就是RabbitMQ本身,用于扮演快递的角色,本身并不生产消 ...
- 学习Nginx(三)
nginx的性能测试及常用优化手段 一.nginx的性能测试及对比 1.环境准备 [root@test8_hadoop_kaf ~]# yum install -y httpd-tools [ro ...