解决echarts中横坐标值显示不全(自动隐藏)问题
echarts中,横轴数据如果非常多,会自动隐藏一部分数据,我们可以通过属性interval来进行调整。
如下图,当横轴时间为13天时,echarts会自动隔天显示
查看echarts官网的文档,可以得知:
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中横坐标值显示不全(自动隐藏)问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持来客网。