echarts折线图两条数据的情况下tooltip显示两个数据的差值,并自定义tooltip样式

1.需求 tooltip折线图显示最大值和最小值并且显示两个数据的差值
A.tooltip 设置代码展示

        tooltip: {
          show: true,
          backgroundColor: "rgba(13, 64, 71, 0.50)",
          trigger: "axis",
          borderColor: "rgba(143, 225, 252, 0.60)",
          // padding: 8,
          textStyle: {
            color: "#fff",
          },
          axisPointer: {
            type: "line",
          },
          formatter: function (params) {
            console.log(params)
            var result = params[0].name; // 获取当前坐标轴的名称
            let max = 0;
            let min = 0;
            params.forEach(function (item) {
              // 遍历所有的数据项
              result += "<br/>" + item.seriesName + " : " + item.value; // 将每个数据项的名称和值添加到 tooltip 中
              if(item.seriesName == '最大值'){
                  max = item.value;
                  console.log(max)
              }else{
                min = item.value;
                console.log(min)
              }
            });
            result = result + "<br/>差值:" + (max-min)
            return result;
          },
        },

B.效果
在这里插入图片描述
C.ps(tooltip 显示showdow 和 line 是在 **xAxis:{axisPointer}**里面设置)

        xAxis: [
          {
            type: "category",
            data: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],
            axisPointer: {
              type: "line",//tooltip 是直线
            },
            axisLine: {
              //不显示x轴
              show: true,
              lineStyle: {
                color: "rgba(108,123,138,0.08)",
              },
            },
            axisTick: {
              //不显示x轴刻度
              show: false,
            },
            axisLabel: {
              textStyle: {
                color: "#6C7B8A", //更改坐标轴文字颜色
                fontSize: 12, //更改坐标轴文字大小
              },
            },
          },
        ],

在这里插入图片描述
D.自定义tooltip样式

       tooltip: {
          show: true,
          backgroundColor: "#1B2440",
          trigger: "axis",
          borderColor: "#1B2440",
          padding: 8,
          textStyle: {
            color: "#86A3C0",
          },
          axisPointer: {
            type: "line",
          },
          formatter: function (params) {
            console.log(params)
            var result = '<div style="width:150px;display:flex;justify-content:space-between;margin-bottom:20px;">'+'<div>'+'时间:' +'</div>'+'<div>'+ params[0].name+'</div>' +'</div>'; // 获取当前坐标轴的名称
            let max = 0;
            let min = 0;
            params.forEach(function (item) {
              // 遍历所有的数据项
              result += '<div style="width:150px;display:flex;justify-content:space-between;margin-bottom:20px;">'+'<div>'+item.seriesName+':' +'</div>'+'<div>'+item.value+'</div>' +'</div>';
              if(item.seriesName == '最大值'){
                  max = item.value;
                  console.log(max)
              }else{
                min = item.value;
                console.log(min)
              }
            });
            result = result +  '<div style="width:150px;display:flex;justify-content:space-between;">'+'<div>'+'差值:' +'</div>'+'<div>'+(max-min)+'</div>' +'</div>';
            return result;
          },
        },

E:效果
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
自定义echarts折线图tooltip样式,可以使用tooltip的formatter属性和CSS样式来实现。以下是一个示例代码: ```javascript option = { tooltip: { trigger: 'axis', formatter: function(params) { var html = '<div class="tooltip">'; html += '<div class="tooltip-header">' + params[0].name + '</div>'; params.forEach(function(item) { html += '<div class="tooltip-item">'; html += '<div class="tooltip-point" style="background-color:' + item.color + '"></div>'; html += '<div class="tooltip-name">' + item.seriesName + ':</div>'; html += '<div class="tooltip-value">' + item.value + '</div>'; html += '</div>'; }); html += '</div>'; return html; }, axisPointer: { type: 'cross' } }, // 其他配置项 // ... } ``` 上面代码中,我们使用了tooltip的formatter属性来自定义tooltip的内容。在函数中,我们可以通过params参数获取到当前tooltip中包含的所有数据项,然后根据需要来组装html字符串。在这个例子中,我们使用了一个`<div>`元素来作为tooltip的容器,并且为它添加了一个自定义的CSS类名`tooltip`,以便后面可以通过CSS样式来对tooltip进行样式调整。 接下来,我们在formatter函数中遍历params参数,将每个数据项的名称、数值、颜色等信息组装成一个html字符串,并添加到tooltip容器中。在这个例子中,我们使用了一个`<div>`元素来作为每个数据项的容器,并为它添加了一个自定义的CSS类名`tooltip-item`,以便后面可以通过CSS样式来对每个数据项进行样式调整。 最后,我们在CSS样式中定义了`.tooltip`和`.tooltip-item`两个类的样式,来对tooltip进行样式调整。以下是CSS样式的示例代码: ```css .tooltip { background-color: #fff; border: 1px solid #ccc; padding: 10px; } .tooltip-header { font-weight: bold; margin-bottom: 5px; } .tooltip-item { margin-bottom: 5px; } .tooltip-point { display: inline-block; width: 10px; height: 10px; border-radius: 50%; margin-right: 5px; } .tooltip-name { display: inline-block; font-weight: bold; margin-right: 5px; } .tooltip-value { display: inline-block; } ``` 上面代码中,我们定义了`.tooltip`类的背景色、边框、内边距等样式,以及`.tooltip-header`、`.tooltip-item`、`.tooltip-point`、`.tooltip-name`、`.tooltip-value`等类的其他样式,来对tooltip进行样式调整。其中,`.tooltip-point`类的样式用于设置每个数据项的颜色标识符,`.tooltip-name`类的样式用于设置每个数据项的名称,`.tooltip-value`类的样式用于设置每个数据项的数值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值