Echarts 雙Y軸刻度不一致

項目中使用了 百度Echarts
根據項目需要,要實現雙Y軸展示柱狀圖
最終的樣子是這樣的


最終效果

實現過程中遇到的問題
一開始是這個樣子的(因為沒有設置max min,天真的以為只要有數據,就會系統均分,萬萬沒想到,出現左右刻度不重合現象,what ~~)


類似官網這個例子
  • 閑言碎語不要講,開始正文,開發中問題總結
①x軸 文字太長 展示不全

解決方法:(大致思路就是讓文字傾斜)

grid: {
         y2: 140
          },
xAxis: {
            data: [],
            axisLabel: {
              interval: 0,//橫軸信息全部顯示
              rotate: -30,//-30度角傾斜顯示
            }
          },
②對于動態數據,如何定義右側Y軸的刻度

解決方法: 翻來覆去,終于在github 的issue上看到,貌似echart3.0需要自己去定義 max,min,interval。系統不再自動計算適配。
既然這樣,那就計算唄,根據項目需要,在這一塊

yAxis:[
            {......},
            {
              type: 'value',
              name: '銷售額(元)',
              min: 0,
              max: max,        // 計算最大值
              interval: Math.ceil(max / 5),   //  平均分為5份
              axisLabel: {
                formatter: '{value}'
              }
]

小插曲:由于兩側都是動態數據,測試時候發現,左側Y軸有時候會變為6份或者更多份。妹的,那就亂套了,左右Y軸不對應。那就固定起來,將左側也固定為 5份。具體方法同上(計算max min interval)

基本就能解決了
that's all

番外篇:

  • 控制圖表與外部容器之間的間距


    image.png
options : {
    //...
    grid : {
        left: 40,    //距離容器左邊界40像素
        right: 30   //距離容器右邊界30像素
    }
}
  • 實現圖表的寬度隨著屏幕寬度的改變而改變
    在setoption之后添加這段代碼:
window.onresize = myChart.resize;
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容