JSRUN 用代码说话

标注ECharts折线图

编辑教程

标注ECharts折线图

对于 ECharts 折线图标注的设置我们可以从这几个方面入手:首先设置折线图标注的图形;然后控制该标注的大小、旋转角度等;接着就可以设置折线图标注的样式、文本了(可以通过 normal 和 emphasis 两种状态进行设置);最后,您可以设置标注动画,如动画的阈值、时长、初始动画的缓动效果等等。这只是本节内容的一个概述,详细的操作过程还得查阅文章内容。

series[i]-line.markPoint

Object

设置 ECharts 折线图标注。

series[i]-line.markPoint.symbol

string[ 默认值 'pin' ]

折线图标注的图形设置。

ECharts 提供的标记类型包括 'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow'

也可以通过 'image://url' 设置为图片,其中 url 为图片的链接,或者 dataURI。

可以通过 'path://' 将图标设置为任意的矢量路径。这种方式相比于使用图片的方式,不用担心因为缩放而产生锯齿或模糊,而且可以设置为任意颜色。路径图形会自适应调整为合适的大小。路径的格式参见 SVG PathData。可以从 Adobe Illustrator 等工具编辑导出。

series[i]-line.markPoint.symbolSize

number, Array, Function[ 默认值 50 ]

折线图标注的大小,可以设置成诸如 10 这样单一的数字,也可以用数组分开表示宽和高,例如 [20, 10] 表示标记宽为20,高为10。

如果需要每个数据的图形大小不一样,可以设置为如下格式的回调函数:

(value: Array|number, params: Object) => number|Array

其中第一个参数 value 为 data 中的数据值。第二个参数params 是其它的数据项参数。

series[i]-line.markPoint.symbolRotate

number

折线图标注的旋转角度。

注意:在 markLine 中当 symbol 为 'arrow' 时会忽略 symbolRotate 强制设置为切线的角度。

series[i]-line.markPoint.symbolOffset

Array[ 默认值 [0, 0] ]

折线图标注相对于原本位置的偏移。默认情况下,标记会居中置放在数据对应的位置,但是如果 symbol 是自定义的矢量路径或者图片,就有可能不希望 symbol 居中。这时候可以使用该配置项配置 symbol 相对于原本居中的偏移,可以是绝对的像素值,也可以是相对的百分比。

例如 [0, '50%'] 就是把自己向上移动了一半的位置,在 symbol 图形是气泡的时候可以让图形下端的箭头对准数据点。

series[i]-line.markPoint.silent

boolean[ 默认值 false ]

折线图标注是否不响应和触发鼠标事件,默认为 false,即响应和触发鼠标事件。

series[i]-line.markPoint.label

Object

折线图标注的文本。

series[i]-line.markPoint.itemStyle

Object

折线图标注的样式。

series[i]-line.markPoint.data[i]

Object

折线图标注的数据数组。每个数组项是一个对象,有下面几种方式指定标注的位置。

通过 x, y 属性指定相对容器的屏幕坐标,单位像素,支持百分比。

用 coord 属性指定数据在相应坐标系上的坐标位置,单个维度支持设置 'min', 'max', 'average'。

直接用 type 属性标注系列中的最大值,最小值。这时候可以使用 valueIndex 指定是在哪个维度上的最大值、最小值、平均值。或者可以使用 valueDim 指定在哪个维度上的最大值、最小值、平均值。

当多个属性同时存在时,优先级按上述的顺序。

示例:

data: [
    {
        name: '最大值',
        type: 'max'
    }, 
    {
        name: '某个坐标',
        coord: [10, 20]
    }, {
        name: '固定 x 像素位置',
        yAxis: 10,
        x: '90%'
    }, 
    {
        name: '某个屏幕坐标',
        x: 100,
        y: 100
    }
]

series[i]-line.markPoint.animation

boolean[ 默认值 true ]

是否在折线图标注中开启动画。

series[i]-line.markPoint.animationThreshold

number[ 默认值 2000 ]

是否开启折线图标注动画的阈值,当单个系列显示的图形数量大于这个阈值时会关闭动画。

series[i]-line.markPoint.animationDuration

number[ 默认值 1000 ]

折线图标注初始动画的时长,支持回调函数,可以通过每个数据返回不同的 delay 时间实现更戏剧的初始动画效果:

animationDuration: function (idx) {
    // 越往后的数据延迟越大
    return idx * 100;
}

series[i]-line.markPoint.animationEasing

string[ 默认值 cubicOut ]

折线图标注初始动画的缓动效果。不同的缓动效果可以参考 缓动示例。

series[i]-line.markPoint.animationDelay

number, Function[ 默认值 0 ]

折线图标注初始动画的延迟,支持回调函数,可以通过每个数据返回不同的 delay 时间实现更戏剧的初始动画效果。

如下示例:

animationDelay: function (idx) {
    // 越往后的数据延迟越大
    return idx * 100;
}

series[i]-line.markPoint.animationDurationUpdate

number, Function[ 默认值 300 ]

折线图标注数据更新动画的时长。

支持回调函数,可以通过每个数据返回不同的 delay 时间实现更戏剧的更新动画效果:

animationDurationUpdate: function (idx) {
    // 越往后的数据延迟越大
    return idx * 100;
}

series[i]-line.markPoint.animationEasingUpdate

string[ 默认值 cubicOut ]

折线图标注数据更新动画的缓动效果。

series[i]-line.markPoint.animationDelayUpdate

number, Function[ 默认值 0 ]

折线图标注数据更新动画的延迟,支持回调函数,可以通过每个数据返回不同的 delay 时间实现更戏剧的更新动画效果。

如下示例:

animationDelayUpdate: function (idx) {
    // 越往后的数据延迟越大
    return idx * 100;
}
JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。 大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
支付宝
9.99
无法付款,请点击这里
金额: 0
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟