tooltip.position:提示框浮层的位置,默认不设置时位置会跟随鼠标的位置。
参数:
point: 鼠标位置,如 [20, 40]。
params: 同 formatter 的参数相同。
dom: tooltip 的 dom 对象。
rect: 只有鼠标在图形上时有效,是一个用x, y, width, height四个属性表达的图形包围盒。
size: 包括 dom 的尺寸和 echarts 容器的当前尺寸,例如:{contentSize: [width, height], viewSize: [width, height]}。
- tooltip: {
- trigger: 'axis',
- position: function (point, params, dom, rect, size) { // 解决tooltip在最右侧时部分被遮挡
- let obj = {};
- if (point[0] > size.viewSize[0] / 2) { // 鼠标位置位于echarts容器的一半位置右侧时,提示框显示在左侧
- obj['left'] = point[0] - size.contentSize[0] - 20;
- } else {
- obj['right'] = size.viewSize[0] - size.contentSize[0] * 2;
- }
- if (point[1] > size.viewSize[1] / 2) { // 鼠标位置位于echarts容器的一半位置下侧时,提示框显示在上侧
- obj['top'] = point[1] - size.contentSize[1] - 20;
- } else {
- obj['bottom'] = size.viewSize[1] - size.contentSize[1] * 2;
- }
- return obj;
- },
- formatter: params => {
- let str = '';
- params.forEach((item, index) => {
- ......
- });
- return str;
- }
- },