1. 程式人生 > 實用技巧 >echart 踩坑記錄

echart 踩坑記錄

問題一

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資料中,要保持負柱條的數值在正柱條資料之前。