echarts折线图一条线展示多个数据,tooltip中显示多个数据,鼠标移入图表tooltip展示多个数据.

在这里插入图片描述
效果图:
在这里插入图片描述
实现方法:

methods:{
    updateEcharts(params){
      searchEcharts(params).then(data => {
        let dataObj = data.data.result;
        let dataTimes = [];
        dataObj.map(v =>{
          dataTimes.push(v.createDt);
          let keymap = {max: 'value'}
          Object.keys(v).map(k =>{
            let newKey = keymap[k]
            if (newKey) {
              v[newKey] = v[k]
              delete v[k]
            }
          })
        })
        this.myChart.setOption(this.bottomOption)
        this.myChart.setOption({
          title: {text: this.echartsName +'  最近一周数据统计'},
          xAxis: {data: dataTimes},
          series: [{data: dataObj}],
          tooltip:{
           	formatter:e=>{
	           return `
	              日期: ${e[0].data.createDt}<br/>
	              ${e[0].marker} 最大值: ${e[0].data.value}<br/>
	              ${e[0].marker} 最小值: ${e[0].data.min}
	            `
          	}
          }
        })
        window.addEventListener("resize", ()=>{this.myChart.resize()});
      })
    },
}

接口返回值的格式:
在这里插入图片描述
一个日期,一个最大值,一个最小值,一个时间戳.我们只需要日期,最大值最小值,就可以了,时间戳那个值放那里不碍事.
如果直接把这个值赋值给series里面的data,图表是出不来的
为什么,因为接口返回值里面没有一个字段的key是value.所以出不来

怎么解决?,上篇文章有说过方法,修改字段的key嘛

        dataObj.map(v =>{
          let keymap = {max: 'value'}
          Object.keys(v).map(k =>{
            let newKey = keymap[k]
            if (newKey) {
              v[newKey] = v[k]
              delete v[k]
            }
          })
        })

修改之后:
在这里插入图片描述

随便改那个字段都可以,只要返回值里面包含value这个字段就可以了
如果你的接口返回值里面有value这个字段,那么上面那段转换字段的key的代码就不用写了,直接将接口返回值赋值给series里面的data即可
📢没了,结束了,是不是很简单呐,如有错误,欢迎留言.如有问题,不吝赐教。
📢如果此篇博文对您有帮助,还请动动小手点赞 👍 收藏 ⭐留言 📝呐~,谢谢 ~ ~

  • 12
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杨同学*

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值