echarts 配置 渐变色

Duke Duke | 89 | 2022-06-13

1.在 color 中配置渐变色:

echarts 配置项

// 线性渐变,前四个参数分别是 x0, y0, x2, y2, 范围从 0 - 1,相当于在图形包围盒中的百分比,如果 globalCoord 为 `true`,则该四个值是绝对的像素位置
const linearGradientColor = {
    type: 'linear',
    x: 0,
    y: 0,
    x2: 0,
    y2: 1,
    colorStops: [{
        offset: 0, color: 'red' // 0% 处的颜色
    }, {
        offset: 1, color: 'blue' // 100% 处的颜色
    }],
    globalCoord: false // 缺省为 false
};
// 径向渐变,前三个参数分别是圆心 x, y 和半径,取值同线性渐变
const radialGradientColor = {
    type: 'radial',
    x: 0.5,
    y: 0.5,
    r: 0.5,
    colorStops: [{
        offset: 0, color: 'red' // 0% 处的颜色
    }, {
        offset: 1, color: 'blue' // 100% 处的颜色
    }],
    globalCoord: false // 缺省为 false
}
// 纹理填充
const textureFillColor = {
    image: imageDom, // 支持为 HTMLImageElement, HTMLCanvasElement,不支持路径字符串
    repeat: 'repeat' // 是否平铺, 可以是 'repeat-x', 'repeat-y', 'no-repeat'
}
const option = {
    series: [
        {
            type: 'line',
            areaStyle: {
                color: linearGradientColor||radialGradientColor||textureFillColor
            },
        },
    ],
};
chart.setOption({option})

2.使用echarts内置的渐变色生成器echarts.graphic.LinearGradient

echarts的官方API中都没有对这个API添加说明文档, 故用本篇文章来简略说明其用法.

const color = new echarts.graphic.LinearGradient(
    0, 0, 0, 1,
    [
        {offset: 0, color: '#000'},
        {offset: 0.5, color: '#888'},
        {offset: 1, color: '#ddd'}
    ]
);
const option = {
    series: [
        {
            type: 'line',
            areaStyle: {
                color: color,
            },
        },
    ],
};
chart.setOption({option})

0,0,0,1分别代表了右、下、左、上四个位置的颜色坐标

通过修改这4个参数, 可以实现不同的渐变方向, 如:
0 1 0 0 代表从正下方向正上方渐变;
1 0 0 1 代表从右上方向左下方渐变,

第5个参数则是一个数组, 用于配置颜色的渐变过程. 每一项为一个对象, 包含offset和color两个参数. offset的范围是0 ~ 1, 用于表示位置, color不用多说肯定是表示颜色了. 像示例代码的配置则表示:
整个渐变过程是从正上方向正下方变化
起始(offset: 0)颜色为#000, 变化到正中间(offset: 0.5)位置时颜色为#888, 变化到结束(offset: 1)位置时颜色为#ddd.

文章标签: js
推荐指数:

真诚点赞 诚不我欺~

echarts 配置 渐变色

点赞 收藏 评论