ECharts設定X軸axisLabel自適應

2021-10-09 18:20:24 字數 2000 閱讀 3862

製作echarts的柱狀圖時我們發現axislabel的長度過長時文字會堆疊在一起:

有些**選擇傾斜axislabel來顯示,或者讓axislabel完全豎直,效果都很差,我這裡採用計算x軸刻度寬度的方法來進行換行處理:

echarts將柱狀圖分為grid,x軸label和y軸label三個部分;

我們首先計算每個x軸label大致可以顯示多少個字:

var xaxisdata = ["something...","something...","something...","something..."]

var gridwidth = 681; //可以根據canvas的寬度和grid的right,left,width進行計算

var fontsize = 14; //字型大小

var wordnum = parseint((gridwidth / xaxisdata.length) / fontsize);

然後在xaxis.axislabel的formatter中設定換行:

xaxis: 

return str}}

}

這時我們發現如果grid的bottom預設為60,意味著x軸到canvas底部只能放下3行文字,所以我們需要調整grid的高度來放下更多的行:

計算最多有多少行,並根據最大行數設定chart容器高度:

var xaxisdata = ["something...", "something...", "something...", "something..."]

var gridwidth = 681;

var fontsize = 14; //字型大小預設12px,這裡設定成14可以保證label之間的間距

var wordnum = parseint((gridwidth / xaxisdata.length) / fontsize);

var maxline = 0;

for (var i = 0; i < xaxisdata.length; i++)

//改變chart容器高度,340為dom的height減去grid的高度和top:

//此句放在echarts.init(dom)之前:

document.getelementbyid(id).style.height += (340 + max * 12) + "px";

設定grid的bottom:

grid:
這樣設定好就可以像上圖那樣自適應顯示

當我們使用的datazoom工具是時候:

為了讓我們的縮放grid的時候重新計算每行顯示多少字型,我們可以使用監聽datazoom事件來完成:

mychart.on('datazoom', function (params)  else 

var cur_col_num = ((end - start) / 100) * xaxisdata.length; //計算縮放後可以顯示幾個柱子

wordnum = parseint(math.ceil((gridwidth / cur_col_num)) / 14);//重新計算wordnum

});

因為縮放的時候會觸發我們設定的axislabel的formatter,所以只要重新計算wordnum,我們的label就會隨著縮放而改變每行顯示的字:

設定X 軸的標題

chart1.chartareas chartarea1 axisx.title 季節 x軸標題 chart1.chartareas chartarea1 axisx.titlealignment stringalignment.far 設定y軸標題的名稱所在位置位遠 chart1.chartare...

echarts中y軸設定刻度 xAxis 配置

設定echarts中y軸刻度線的樣式 在上節內容中我們提到了 echarts 中 y 軸刻度線樣式的設定,那麼在本節我們就來詳細介紹一下 yaxis 中 axistick.linestyle 所包含的樣式。所以,在下面的內容中你會看到 y 座標軸刻度線顏色的設定 型別的選擇 陰影迷糊的大小等。yax...

中x軸偏移 加工中心X軸偏移設定,可以試試這幾步!

x軸偏移一般是指您座標的偏移。如果發生偏移座標現象莫莫這裡有五種方法可以嘗試修正哦 一 如果是單件生產,方法是 等到需要進行x向偏移時,停止自動加工改為手動加工。用手輪把銑刀沿x向偏移 注意,千萬不要動y軸和z軸座標位置 之後,自動方式繼續執行沒走完的程式。就能達到目的。二 如果是只是偏移x軸,則直...