echart 踩坑記錄
阿新 • • 發佈:2020-08-13
問題一
1、需求:
有兩個選項:顯示標記點、顯示標籤。使用者可勾選這兩個選項設定這兩項。
相關的配置項:
// 顯示標籤
label: {
show: true
}
// 顯示標記點 標記型別包括 'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow', 'none'
symbol:'emptyCircle'
2、遇到的問題:
當symbol:'none'時,label標籤不顯示
3、解決辦法:
symbol:'circle', symbolSize:1, hoverAnimation: false // 是否開啟 hover 在拐點標誌上的提示動畫效果
問題二
1、需求:獲取指標對應的顏色
2、遇到的問題:
使用 myChart.getOption().color[index] 最多隻獲取到11種顏色。最多能獲取到的顏色跟當前圖設定的主題色有關。
3、解決的辦法:
推薦使用:myChart.getModel().getSeriesByIndex(index).getData().getVisual('color')
問題三
1、需求:圖表中展示使用者設定的目標值標線
相關的配置:
markLine 圖表的標線
2、遇到的問題:設定的目標值超過返回資料的最大值或者小於最小值時,標線不顯示
3、解決的辦法:
yAxis中動態設定最大值和最小值
markLine: { data: [ { xAxis: 0, yAxis: target, symbol: 'circle'} ], label: { normal: { show: true, position: 'right', formatter: '2020年目標', }, } } this.option.yAxis = { max: extent => extent.max > target ? extent.max : target, min: extent => extent.min < target ? extent.min : target }
問題四
1、需求:堆疊柱狀圖在正負柱條的頂部或底部展示標籤
2、遇到的問題:負柱條數值為0時,標籤顯示位置不正確。(這個是echarts的bug嗎?)
這個可以去echarts官方示例中除錯 https://echarts.apache.org/examples/zh/editor.html?c=bar-negative
3、解決的辦法:在最後生成的series資料中,要保持負柱條的數值在正柱條資料之前。