1. 程式人生 > 程式設計 >解決echarts中橫座標值顯示不全(自動隱藏)問題

解決echarts中橫座標值顯示不全(自動隱藏)問題

echarts中,橫軸資料如果非常多,會自動隱藏一部分資料,我們可以通過屬性interval來進行調整。

如下圖,當橫軸時間為13天時,echarts會自動隔天顯示

解決echarts中橫座標值顯示不全(自動隱藏)問題

如果我們想顯示全,則需要在xAxis 屬性加上axisLabel:{interval: 0}

"xAxis":[{"data":["2015-5-13","2015-5-14","2015-5-15","2015-5-16","2015-5-17","2015-5-18","2015-5-19","2015-5-20","2015-5-21","2015-5-22","2015-5-23","2015-5-24","2015-5-25"],"type":"category","axisLabel":{
 interval: 0
 }
}],

效果如下:

解決echarts中橫座標值顯示不全(自動隱藏)問題

檢視echarts官網的文件,可以得知:

解決echarts中橫座標值顯示不全(自動隱藏)問題

補充知識:Echarts X軸內容過長自動隱藏,滑鼠移動上去顯示全部

使用echarts圖表做頁面展示的時候,當X軸內容過長時,之前一直用的 '\n' 換行(將字串根據需要分成兩行來展示),這樣有很大的侷限性(如內容過長的話 分成兩行也放不下,而且也會影響美觀),後來發現可以通過設定自動隱藏,滑鼠移動上去顯示全部名稱的方法 來做,效果會更好。

1. 首先在 x軸上新增 triggerEvent: true。如下紅色部分:

xAxis: {
data: result.nameList,
silent: false,
triggerEvent: true,

axisLine: {
onZero: true,
show: true,
lineStyle: {
color: '#90979c' // x 軸線最下面的橫座標線的顏色
}
},
splitLine: {show: false},
splitArea: {show: false},
axisLabel: {
interval: 0,//設定橫座標為斜
rotate: 30,//文字傾斜角度
formatter: function (value) {
if (value.length > 10) {
value = value.substring(0,9) + "..";
}
return value;
},
textStyle: {
color: '#666',
fontSize: '12'
}
},
},

2. 自定義x軸上顯示的內容長度。如上面程式碼段中的藍色部分。

3. 自定義一個 滑鼠懸浮事件方法,並呼叫。

function extensionOne(myChart) {
 var id = document.getElementById("extensionOne");
 //判斷是否建立過div框,如果沒有建立過,則建立。(建立時,預設隱藏)
 if (!id) {
  var div = "<div id = 'extensionOne' sytle=\"display:none\"></div>";
  $('html').append(div);
 }

 var arrow_left = '20px';
 //滑鼠懸浮事件
 myChart.on('mouseover',function (params) {
  if (params.componentType != "xAxis") {
   return;
  }

  //設定div框樣式,併為其填充值。
  $('#extensionOne').css({
   "position": "absolute","color": "#90979c",// "border": "solid 0px white","font-family": "Arial","font-size": "14px","padding": "5px","display": "inline"
  }).text(params.value);
  var xx_text = params.event.offsetX - 35;
  arrow_left = xx_text;

  $("#talentDemandDistribution").mousemove(function (event) {
   // console.log("X軸座標:" + event.pageX + " Y軸座標:" + event.pageY);
   var xx = event.pageX - 30;
   var yy = event.pageY + 10;
   $('#extensionOne').css('top',yy).css('left',xx);
  });
 });

 myChart.on('mouseout',function (params) {
  $('#extensionOne').css('display','none');
 });
}
{
 ...
 ...
 var chart = echarts.init(document.getElementById('talentDemandDistribution'));
 chart.setOption(option);

 //在echarts 初始化完成後,呼叫自定義的滑鼠懸浮事件方法
 extensionOne(chart);
}

到此結束!

以上這篇解決echarts中橫座標值顯示不全(自動隱藏)問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。