timeline
timeline 组件,提供了在多个 ECharts option 间进行切换、播放等操作的功能。
timeline 和其他组件有些不同,它需要操作『多个option』。 假设,我们把 ECharts 的传统的option称为 原子option,那么使用 timeline 时,传入 ECharts 的 option 就成为了一个集合多个 原子option 的 复合option。如下示例:
// 如下,baseOption 是一个 『原子option』,options 数组中的每一项也是一个 『原子option』。
// 每个『原子option』中就是本文档中描述的各种配置项。
myChart.setOption(
{
baseOption: {
timeline: {
...,
data: ['2002-01-01', '2003-01-01', '2004-01-01']
},
title: {
subtext: '数据来自国家统计局'
},
grid: {...},
xAxis: [...],
yAxis: [...],
series: [
{ // 系列一的一些其他配置
type: 'bar',
...
},
{ // 系列二的一些其他配置
type: 'line',
...
},
{ // 系列三的一些其他配置
type: 'pie',
...
}
]
},
options: [
{ // 这是'2002-01-01' 对应的 option
title: {
text: '2002年统计值'
},
series: [
{data: []}, // 系列一的数据
{data: []}, // 系列二的数据
{data: []} // 系列三的数据
]
},
{ // 这是'2003-01-01' 对应的 option
title: {
text: '2003年统计值'
},
series: [
{data: []},
{data: []},
{data: []}
]
},
{ // 这是'2004-01-01' 对应的 option
title: {
text: '2004年统计值'
},
series: [
{data: []},
{data: []},
{data: []}
]
}
]
}
);
- timeline.show: 是否显示 timeline 组件。如果设置为false,不会显示,但是功能还存在。
- timeline.type: 这个属性目前只支持为 slider,不需要更改。
- timeline.axisType: 轴的类型。
'value' 数值轴,适用于连续数据。 'category' 类目轴,适用于离散的类目数据。 'time' 时间轴,适用于连续的时序数据,与数值轴相比时间轴带有时间的格式化,在刻度计算上也有所不同,例如会根据跨度的范围来决定使用月,星期,日还是小时范围的刻度。
- timeline.currentIndex: 表示当前选中项是哪项。比如,currentIndex 为 0 时,表示当前选中项为 timeline.data[0](即使用 options[0])。
- timeline.autoPlay: 表示是否自动播放。
- timeline.rewind: 表示是否反向播放。
- timeline.loop: 表示是否循环播放。
- timeline.playInterval: 表示播放的速度(跳动的间隔),单位毫秒(ms)。
- timeline.realtime: true 拖动圆点的时候,是否实时更新视图。
- timeline.controlPosition: 表示『播放』按钮的位置。可选值:'left'、'right'。
- timeline.zlevel: 所有图形的 zlevel 值。
- timeline.z: 组件的所有图形的z值。控制图形的前后顺序。
- timeline.left: timeline组件离容器左侧的距离。
- timeline.top: timeline组件离容器上侧的距离。
- timeline.right: timeline组件离容器右侧的距离。
- timeline.bottom: timeline组件离容器下侧的距离。
- timeline.padding: timeline内边距,单位px,默认各方向内边距为5,接受数组分别设定上右下左边距。
// 设置内边距为 5 padding: 5 // 设置上下的内边距为 5,左右的内边距为 10 padding: [5, 10] // 分别设置四个方向的内边距 padding: [ 5, // 上 10, // 右 5, // 下 10, // 左 ]
- timeline.orient: 摆放方式
可选值有: 'vertical':竖直放置。 'horizontal':水平放置。
- timeline.inverse: 是否反向放置 timeline,反向则首位颠倒过来。
- timeline.symbol: timeline标记的图形。可选自带的标记类型, 有 'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow'
- timeline.symbolSize: timeline标记的大小,可以设置成诸如 10 这样单一的数字,也可以用数组分开表示高和宽,例如 [20, 10] 表示标记宽为20,高为10。
- timeline.symbolRotate: timeline标记的旋转角度。注意在 markLine 中当 symbol 为 'arrow' 时会忽略 symbolRotate 强制设置为切线的角度。
- timeline.symbolOffset: timeline标记相对于原本位置的偏移。
- timeline.lineStyle: ...
- timeline.label: 轴的文本标签。有 normal 和 emphasis 两个状态,normal 是文本正常的样式,emphasis 是文本高亮的样式,比如鼠标悬浮或者图例联动高亮的时候会使用 emphasis 作为文本的样式。
- timeline.label.position:
可选的配置方式: 'auto': 完全自动决定。 'left': 贴左边界放置。 当 timline.orient 为 'horizontal' 时有效。 'right':当 timline.orient 为 'horizontal' 时有效。 贴右边界放置。 'top': 贴上边界放置。 当 timline.orient 为 'vertical' 时有效。 'bottom': 贴下边界放置。 当 timline.orient 为 'vertical' 时有效。 number: 指定某个数值时,表示 label 和轴的距离。为 0 时则和坐标轴重合,可以为正负值,决定 label 在坐标轴的哪一边。
- timeline.label.normal
- timeline.label.emphasis
- timeline.label.position:
- timeline.itemStyle: timeline 图形样式,有 normal 和 emphasis 两个状态,normal 是图形正常的样式,emphasis 是图形高亮的样式,比如鼠标悬浮或者图例联动高亮的时候会使用 emphasis 作为图形的样式。...
- timeline.checkpointStyle: 『当前项』(checkpoint)的图形样式。
- timeline.controlStyle: 『控制按钮』的样式。『控制按钮』包括:『播放按钮』、『前进按钮』、『后退按钮』。
- timeline.data: timeline 数据。Array 的每一项,可以是直接的数值。 如果需要对每个数据项单独进行样式定义,则数据项写成 Object。Object中,value属性为数值。其他属性如下例子,可以覆盖 timeline 中的属性配置。
如下例: [ '2002-01-01', '2003-01-01', '2004-01-01', { value: '2005-01-01', tooltip: { // 让鼠标悬浮到此项时能够显示 `tooltip`。 formatter: '{b} xxxx' }, symbol: 'diamond', // 此项的图形的特别设置。 symbolSize: 16 // 此项的图形大小的特别设置。 }, '2006-01-01', '2007-01-01', '2008-01-01', '2009-01-01', '2010-01-01', { value: '2011-01-01', tooltip: { // 让鼠标悬浮到此项时能够显示 `tooltip`。 formatter: function (params) { return params.name + 'xxxx'; } }, symbol: 'diamond', symbolSize: 18 }, ]