- 最近在做echarts图表的时候,由于数据过多,导致tooptip被遮盖,显示不全各种问题,记录一下踩过的坑*
- 设置
tooltip
的appendToBody: true
,结果如图:
更多的还是显示不全;
- 设置
extraCssText
也没起多大作用; - 最后采用了
formatter
回调函数的方式,自己拼写字符串,写行内样式,最主要的是设置一个最大高度,再设置内容超出滚动,包括设置backgroundColor
与textStyle
,最终解决了问题,如图:
设置最大高度,而高度设置为自动时,数据不多的情况下就没有滚动条
重点来了,附上代码
tooltip: {
trigger: 'axis',
axisPointer: { // 坐标轴指示器,坐标轴触发有效
type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
},
enterable: true, // 鼠标是否可进入提示框浮层中
hideDelay: 200, // 浮层隐藏的延迟
confine: true,
backgroundColor: 'rgba(255,255,255, 1)',
formatter: function (params) {
var htmlStr = '<div style="height: auto;max-height: 240px;overflow-y: auto;"><p>' + params[0].axisValue + '</p>';
for (var i = 0; i < params.length; i++) {
htmlStr += '<p style="color: #666;">' + params[i].marker + params[i].seriesName + ':' + params[i].value + '</p>';
}
htmlStr += '</div>'
return htmlStr
},
extraCssText: 'box-shadow: 0 0 3px rgba(150,150,150, 0.7);',
textStyle: {
fontSize: 12,
color: '#fff'
}
},
legend: {
type: 'scroll',
orient: 'horizontal',
left: 15,
right: 15,
bottom: 10,
data: legendData,
pageButtonPosition: 'end'
},
`
就这样吧~~~