武汉加油----冲鸭,雄起!!!
- 武汉加油----冲鸭,雄起!!!
- ECharts 中每个扇形颜色的可以通过分别设置 data 下的数据项实现,数据后面接着设置itemStyle
- 只有明暗度的变化,所以有一种更快捷的方式是通过 visualMap 组件将数值的大小映射到明暗度。
- 设置样式,改变图形元素或者文字的颜色、明暗、大小等。
- 最简单的更改全局样式的方式,是直接采用颜色主题(theme)
- 直接初始化chart实例时候指定:
- 下载主题文件,然后使用, UMD 格式的 JS 文件,支持了自注册,直接引入 JS 文件即可:
- 调色盘,可以在 option 中设置。
- 它给定了一组颜色,图形、系列会自动从其中选择颜色。
- 可以设置全局的调色盘,也可以设置系列自己专属的调色盘。
-
直接的样式设置是比较常用设置方式。‘
-
这些的地方可以直接设置图形元素的颜色、线宽、点的大小、标签的文字、标签的样式等等。
-
一般来说,ECharts 的各个系列和组件,都遵从这些命名习惯,
-
虽然不同图表和组件中,itemStyle、label 等可能出现在不同的地方。
-
高亮的样式设置(类似JS中鼠标hover后的状态,emphasis里面就是高亮后的状态)
- 在鼠标悬浮到图形元素上时,一般会出现高亮的样式。
- 默认情况下,高亮的样式是根据普通样式自动生成的。
- 但是高亮的样式也可以自己定义,主要是通过 emphasis 属性来定制。
- emphsis 中的结构,和普通样式的结构相同,
- 数据可视化是 数据 到 视觉元素 的映射过程(这个过程也可称为视觉编码,视觉元素也可称为视觉通道)。
- ECharts 的每种图表本身就内置了这种映射过程,
- 比如折线图把数据映射到『线』,柱状图把数据映射到『长度』。
- 一些更复杂的图表,如 graph、事件河流图、treemap 也都会做出他们内置的映射。
- visualMap 组件中可以使用的视觉元素有:
- 参考案例008,就是使用的颜色(红色)的明暗度
-
从而数据可以单独管理,被多个组件复用,并且可以基于数据指定数据到视觉的映射。
-
ECharts 4 以前,数据只能声明在各个“系列(series)”中
-
ECharts 4 提供了 数据集(dataset)组件来单独声明数据,它带来了这些效果:
- 能够贴近这样的数据可视化常见思维方式:基于数据(dataset 组件来提供数据),指定数据到视觉的映射(由 encode 属性来指定映射),形成图表。
- 数据和其他配置可以被分离开来,使用者相对便于进行单独管理,也省去了一些数据处理的步骤。
- 数据可以被多个系列或者组件复用,对于大数据,不必为每个系列创建一份。
- 支持更多的数据的常用格式,例如二维数组、对象数组等,一定程度上避免使用者为了数据格式而进行转换。
-
dataset数据是默认按列,映射到图表
- 如果没有给出这种映射配置,
- 那么 ECharts 就按最常见的理解进行默认映射:X 坐标轴声明为类目轴,默认情况下会自动对应到 dataset.source 中的第一列;
- 三个柱图系列,一一对应到 dataset.source 中后面每一列。
5.1 数据到图形的映射
- 默认是按照列(column)来映射。
- 如何从 dataset 的维度(一个“维度”的意思是一行/列)映射到坐标轴(如 X、Y 轴)、
- 提示框(tooltip)、标签(label)、图形元素大小颜色等(visualMap)。
- 这件事可以使用 series.encode 属性,以及 visualMap 组件(如果有需要映射颜色大小等视觉维度的话)来配置。
- 按行作为数据映射参考案例011
- 介绍 encode 之前,首先要介绍“维度(dimension)”的概念。
- 常用图表所描述的数据大部分是“二维表”结构,上述的011例子中,我们都使用二维数组来容纳二维表。
- 现在,当我们把系列(series)对应到“列”的时候,那么每一列就称为一个“维度(dimension)”,而每一行称为数据项(item)。
- 反之,如果我们把系列(series)对应到表行,那么每一行就是“维度(dimension)”,每一列就是数据项(item)。
- 维度可以有单独的名字,便于在图表中显示。维度名(dimension name)可以在定义在 dataset 的第一行(或者第一列)。
- 例如上面的例子中,‘product’ 就是维度名。从第二行开始,才是正式的数据。
- dataset.source 中第一行(列)到底包含不包含维度名,ECharts 默认会自动探测。
- 大多数情况下,我们并不需要去设置维度类型,因为会自动判断。但是如果因为数据为空之类原因导致判断不足够准确时,可以手动设置维度类型。
- 数据到图形的映射(encode)参考案例012
- 值得一提的是,ECharts 针对最常见直角坐标系中的图表(折线图、柱状图、散点图、K线图等)、饼图、漏斗图,给出了简单的默认的映射,
- 从而不需要配置 encode 也可以出现图表(一旦给出了 encode,那么就不会采用默认映射)。默认的映射规则不易做得复杂,基本规则大体是:
- 在坐标系中(如直角坐标系、极坐标系等)
- 如果有类目轴(axis.type 为 ‘category’),则将第一列(行)映射到这个轴类目轴上,后续每一列(行)对应一个系列。
- 如果没有类目轴,假如坐标系有两个轴(例如直角坐标系的 X Y 轴),则每两列对应一个系列,这两列分别映射到这两个轴上。
- 如果没有坐标系(饼图)
- 取第一列(行)为名字,第二列(行)为数值(如果只有一列,则取第一列为数值)。
- 参考按011/012 指定了类目轴,第一行或者第一列就是类目轴
- 在坐标系中(如直角坐标系、极坐标系等)
6. 交互式组件–缩放组件
- 数据区域缩放组件(dataZoom)
- 『概览数据整体,按需关注数据细节』是数据可视化的基本交互需求。
- dataZoom 组件能够在直角坐标系(grid)、极坐标系(polar)中实现这一功能。
- dataZoom 组件现在支持几种子组件:
- 内置型数据区域缩放组件(dataZoomInside):内置于坐标系中。
- 滑动条型数据区域缩放组件(dataZoomSlider):有单独的滑动条操作。
- 框选型数据区域缩放组件(dataZoomSelect):全屏的选框进行数据区域缩放。入口和配置项均在 toolbox中。