在color中有方法能生成漸變色:
// 線性漸變,前四個參數分別是 x0, y0, x2, y2, 範圍從 0 - 1,相當於在圖形包圍盒中的百分比,如果 globalCoord 爲 `true`,則該四個值是絕對的像素位置
color: {
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 和半徑,取值同線性漸變
color: {
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
}
// 紋理填充
color: {
image: imageDom, // 支持爲 HTMLImageElement, HTMLCanvasElement,不支持路徑字符串
repeat: 'repeat' // 是否平鋪, 可以是 'repeat-x', 'repeat-y', 'no-repeat'
}
第二種方法:使用echarts內置的漸變色生成器echarts.graphic.LinearGradient
{
type: 'bar',
itemStyle: {
normal: {
color: new echarts.graphic.LinearGradient(
0, 0, 0, 1, //4個參數用於配置漸變色的起止位置, 這4個參數依次對應右/下/左/上四個方位. 而0 0 0 1則代表漸變色從正上方開始
[
{offset: 0, color: '#000'},
{offset: 0.5, color: '#888'},
{offset: 1, color: '#ddd'}
] //數組, 用於配置顏色的漸變過程. 每一項爲一個對象, 包含offset和color兩個參數. offset的範圍是0 ~ 1, 用於表示位置
)
}
}
}