当前位置:首页 » 《我的小黑屋》 » 正文

echarts自定义tooltip中的内容

11 人参与  2024年10月16日 16:41  分类 : 《我的小黑屋》  评论

点击全文阅读


原本的默认样式长这样:

也就是有几个图例,就显示几个再加上数字。

默认代码是这样的:

tooltip: {    trigger: 'axis',    axisPointer: {            // 坐标轴指示器,坐标轴触发有效        type: 'cross',        // 默认为直线,可选为:'line' | 'shadow' 'cross'                            },    confine:true, // 限制tooltip在图标区域内显示                },

但我需要的是这样的:

代码如下:

需要加一个formatter函数

tooltip: {    trigger: 'axis',    axisPointer: {            // 坐标轴指示器,坐标轴触发有效        type: 'cross',        // 默认为直线,可选为:'line' | 'shadow' 'cross'    },        confine:true,             //限制tooltip在图表区域内显示    formatter:function(params) {        console.log(params);        let content = '<div style="text-align: left;width:250px;margin-left:20px">'; // 创建一个中心对齐的容器        content += '<table style="border-bottom:1px solid #COCOCO">';            content += '<tr><td>${params[0].name?.split(' ')[1][1]}</td></p>'; // 显示时间戳        content += '<td style="text-indent:5px">平均</td>';        content += '<td style="text-indent:5px">峰值</td>';        content += '<td style="text-indent:5px">最高</td></tr>';        for (let i = 0; i < params.length; i++) {            const param = params[i];        const seriesName = param.seriesName; // 获取系列名称        const value = param.data; // 获取数据值        const color = param.color; // 获取颜色                content += '<tr><td style="text-indent:5px;border-left:2px solid ${color}">${seriesName}</td>';        content += '<td style="text-indent:5px">${value.toFixed(2)}</td>'; // 格式化为百分比        if (seriesName === "CPU占用率") {            content += '<td style="text-indent:5px">${dataRow.cpu_total_grad_list[param.dataIndex]}</td>'; // 格式化为百分比            content += '<td style="text-indent:5px">${dataRow.cpu_total_max_list[param.dataIndex]}</td></tr>';        } else if (seriesName === "sys占用率") {            content += '<td style="text-indent:5px">${dataRow.cpu_sys_grad_list[param.dataIndex]}</td>';            content += '<td style="text-indent:5px">${dataRow.cpu_sys_max_list[param.dataIndex]}</td></tr>';        } else if (seriesName === "用户占用率") {            content += '<td style="text-indent:5px">${dataRow.cpu_user_grad_list[param.dataIndex]}</td>';            content += '<td style="text-indent:5px">${dataRow.cpu_user_max_list[param.dataIndex]}</td></tr>';        }     }    content += '</table>';        content += '<tr><td>最大值所在主机 ${dataRow.cpu_max_host[params[0]?.dataIndex]}</td></tr>';       return content;}}

完成?


点击全文阅读


本文链接:http://zhangshiyu.com/post/172711.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1