echarts Bug:设置不同 lines、effectScatter 时,颜色没生效

你的名字 2023-05-29 06:28 81阅读 0赞

源码下载

  1. series : [{
  2. name: 'rode', //省内连接
  3. type: 'lines',
  4. coordinateSystem: 'geo',
  5. data: [],
  6. lineStyle: {
  7. color: 'orange', // 颜色生效
  8. type: 'solid',
  9. width: 2,
  10. opacity: 1,
  11. curveness: 0.2
  12. },
  13. label:{
  14. normal:{
  15. show:true,
  16. position:'middle',
  17. formatter: '{c}'
  18. }
  19. }
  20. },{
  21. name: 'outRode', //省外连接
  22. type: 'lines',
  23. coordinateSystem: 'geo',
  24. data: [],
  25. lineStyle: {
  26. color: 'green', //有bug,颜色没生效
  27. type: 'dashed',
  28. width: 2,
  29. opacity: 1,
  30. curveness: 0.2
  31. },
  32. label:{
  33. normal:{
  34. show: true,
  35. position:'middle',
  36. formatter: ''
  37. }
  38. }
  39. }]

在这里插入图片描述
找到源码文件echart.js 的 lineProto._updateCommonStl 方法。
将如下代码:

  1. var visualColor = lineData.getItemVisual(idx, 'color');

修改成:

  1. var visualColor = lineStyle.stroke || lineData.getItemVisual(idx, 'color');

如果是压缩文件:则找到 OL._updateCommonStl,添加 a.stroke ||
在这里插入图片描述
效果如下,颜色设置成功了。
在这里插入图片描述
补充:添加不同颜色的 effectScatter 时,也出现颜色无效问题,找到 symbolProto._updateCommon

  1. symbolProto._updateCommon = function (data, idx, symbolSize, seriesScope) {
  2. var symbolPath = this.childAt(0);
  3. var seriesModel = data.hostModel;
  4. var color = data.getItemVisual(idx, 'color');
  5. // 添加如下代码
  6. if(data._visual && data._visual.color){
  7. color = data._visual.color
  8. }
  9. // 以下代码省略……
  10. }

发表评论

表情:
评论列表 (有 0 条评论,81人围观)

还没有评论,来说两句吧...

相关阅读