echarts基础概念:
系列 series:
一组数值以及他们映射成的图。“系列”这个词原本可能来源于“一系列的数据”,而在 echarts 中取其扩展的概念,不仅表示数据,也表示数据映射成为的图。所以,一个 系列 包含的要素至少有:一组数值、图表类型(series.type)、以及其他的关于这些数据如何映射成图的参数。
echarts 里系列类型(series.type)就是图表类型。系列类型(series.type)至少有:line(折线图)、bar(柱状图)、pie(饼图)、scatter(散点图)、graph(关系图)、tree(树图)、...
如下图,右侧的 option 中声明了三个 系列(series):pie(饼图系列)、line(折线图系列)、bar(柱状图系列),每个系列中有他所需要的数据(series.data)。
第一种配置方式:
第二种配置方式:系列的数据从 dataset 中取
组件 component
echarts上的各种内容被抽象为组件,例如xAxis(直角坐标系 X 轴)、yAxis(直角坐标系 Y 轴)、grid(直角坐标系底板)、angleAxis(极坐标系角度轴)、radiusAxis(极坐标系半径轴)、polar(极坐标系底板)、geo(地理坐标系)、dataZoom(数据区缩放组件)、visualMap(视觉映射组件)、tooltip(提示框组件)、toolbox(工具栏组件)、series(系列)等
option 描述图表:数据、数据如何映射成图形、交互行为
option描述echarts的使用者对图表的各种需求,包括有什么数据,要画什么图表、图表长什么样子、含有什么组件、组件能操作什么事情等
// 创建 echarts 实例。
var dom = document.getElementById('dom-id');
var chart = echarts.init(dom);
// 用 option 描述 `数据`、`数据如何映射成图形`、`交互行为` 等。
// option 是个大的 JavaScript 对象。
var option = {
// option 每个属性是一类组件。
legend: {...},
grid: {...},
tooltip: {...},
toolbox: {...},
dataZoom: {...},
visualMap: {...},
// 如果有多个同类组件,那么就是个数组。例如这里有三个 X 轴。
xAxis: [
// 数组每项表示一个组件实例,用 type 描述“子类型”。
{type: 'category', ...},
{type: 'category', ...},
{type: 'value', ...}
],
yAxis: [{...}, {...}],
// 这里有多个系列,也是构成一个数组。
series: [
// 每个系列,也有 type 描述“子类型”,即“图表类型”。
{type: 'line', data: [['AA', 332], ['CC', 124], ['FF', 412], ... ]},
{type: 'line', data: [2231, 1234, 552, ... ]},
{type: 'line', data: [[4, 51], [8, 12], ... ]}
}]
};
// 调用 setOption 将 option 输入 echarts,然后 echarts 渲染图表。
chart.setOption(option);
组件的定位
不同的组件、系列,常有不同的定位方式。多数组件和系列都能够基于top、right、down、left、width、height绝对定位(类似于css的绝对定位position:absolute),绝对定位基于的是echarts容器的dom节点
看下图,两个 yAxis
,共享了一个 xAxis
。两个 series
,也共享了这个 xAxis
,但是分别使用不同的 yAxis
,使用 yAxisIndex 来指定它自己使用的是哪个 yAxis
:
再来看下图,一个 echarts 实例中,有多个 grid
,每个 grid
分别有 xAxis
、yAxis
,他们使用 xAxisIndex
、yAxisIndex
、gridIndex
来指定引用关系: