echarts Bug:设置不同 lines、effectScatter 时,颜色没生效
源码下载
series : [{
name: 'rode', //省内连接
type: 'lines',
coordinateSystem: 'geo',
data: [],
lineStyle: {
color: 'orange', // 颜色生效
type: 'solid',
width: 2,
opacity: 1,
curveness: 0.2
},
label:{
normal:{
show:true,
position:'middle',
formatter: '{c}'
}
}
},{
name: 'outRode', //省外连接
type: 'lines',
coordinateSystem: 'geo',
data: [],
lineStyle: {
color: 'green', //有bug,颜色没生效
type: 'dashed',
width: 2,
opacity: 1,
curveness: 0.2
},
label:{
normal:{
show: true,
position:'middle',
formatter: ''
}
}
}]
找到源码文件echart.js 的 lineProto._updateCommonStl
方法。
将如下代码:
var visualColor = lineData.getItemVisual(idx, 'color');
修改成:
var visualColor = lineStyle.stroke || lineData.getItemVisual(idx, 'color');
如果是压缩文件:则找到 OL._updateCommonStl,添加 a.stroke ||
效果如下,颜色设置成功了。
补充:添加不同颜色的 effectScatter 时,也出现颜色无效问题,找到 symbolProto._updateCommon
处
symbolProto._updateCommon = function (data, idx, symbolSize, seriesScope) {
var symbolPath = this.childAt(0);
var seriesModel = data.hostModel;
var color = data.getItemVisual(idx, 'color');
// 添加如下代码
if(data._visual && data._visual.color){
color = data._visual.color
}
// 以下代码省略……
}
还没有评论,来说两句吧...