1. 程式人生 > 實用技巧 >Echarts x軸文字過長怎麼解決

Echarts x軸文字過長怎麼解決

Echarts x軸文字過長怎麼解決

  • 對文字進行傾斜 rotate

這種傾斜45度的

  • 對文字進行折行
  • 在xAxis.axisLabel中 使用formatter回撥函式實現換行
    axisLabel : {//座標軸刻度標籤的相關設定。
                formatter : function(params){
                   var newParamsName = "";// 最終拼接成的字串
                            var paramsNameNumber = params.length;// 實際標籤的個數
                            var provideNumber = 4;// 每行能顯示的字的個數
                            var rowNumber = Math.ceil(paramsNameNumber / provideNumber);// 換行的話,需要顯示幾行,向上取整
                            /**
                             * 判斷標籤的個數是否大於規定的個數, 如果大於,則進行換行處理 如果不大於,即等於或小於,就返回原標籤
                             */
                            // 條件等同於rowNumber>1
                            if (paramsNameNumber > provideNumber) {
                                /** 迴圈每一行,p表示行 */
                                for (var p = 0; p < rowNumber; p++) {
                                    var tempStr = "";// 表示每一次擷取的字串
                                    var start = p * provideNumber;// 開始擷取的位置
                                    var end = start + provideNumber;// 結束擷取的位置
                                    // 此處特殊處理最後一行的索引值
                                    if (p == rowNumber - 1) {
                                        // 最後一次不換行
                                        tempStr = params.substring(start, paramsNameNumber);
                                    } else {
                                        // 每一次拼接字串並換行
                                        tempStr = params.substring(start, end) + "\n";
                                    }
                                    newParamsName += tempStr;// 最終拼成的字串
                                }

                            } else {
                                // 將舊標籤的值賦給新標籤
                                newParamsName = params;
                            }
                            //將最終的字串返回
                            return newParamsName
                }

            }