echarts实现柱状图、折线图提示信息自动轮播

实现这个柱状图、折线图的头部信息自动轮播,一开始看到ui设计的这个图的时候,我第一个想到的就是echarts官网示例中的markpoint提示内容,因为这个实在看起来不像是tooltip的悬浮提示,但是markpoint是最大值、最小值与平均值,所以我把markpoint的选项pass掉了,采用label信息的定时来回显示,做完效果之后呢,官网label配置项没有对下方那个倒三角型的修饰,所以最后我又考虑起来了markpoint,是否真的只能设置最大值、最小值、平均值,还能不能设置其他值呢,网上查看了好几篇博客,最后让我找到了markpoint的配置方式,我这里贴上一个官方示例修改后的写法,估计想要这个效果的同学就懂了

option = {
    title: {
        text: '未来一周气温变化',
        subtext: '纯属虚构'
    },
    xAxis: {
        type: 'category',
        boundaryGap: false,
        data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
    },
    yAxis: {
        type: 'value',
        axisLabel: {
            formatter: '{value} °C'
        }
    },
    series: [
        {
            name: '最高气温',
            type: 'line',
            data: [11, 11, 15, 13, 12, 13, 10],
            markPoint: {
                symbol:'path://M301.952 931.968a29.056 29.056 0 0 0 14.464-3.712l273.536-149.376h90.752c168.832 0 311.296-148.736 311.296-324.736V398.08A309.12 309.12 0 0 0 680.704 92.032H343.296A309.12 309.12 0 0 0 32 398.08v56.064C32 600.064 128 716.8 272 752.64v149.504a29.824 29.824 0 0 0 29.952 29.824z m0 0',
                symbolOffset:[0,-25],
                itemStyle:{
                    color:'cyan',  
                },
                data: [
                    {xAxis:3,yAxis:13,value:13},
                ]
            },
            markLine: {
                data: [
                    {type: 'average', name: '平均值'}
                ]
            }
        },
    ]
};

echarts示例官网效果

这里可以看到这个markpoint的图形形状我是用svg绘制的矢量路径,具体这个形状是怎么来的呢?当然不可能是我手绘计算svg形状的,这里‘path://’

后面的值是我在阿里巴巴矢量图标库中找到并下载copy的svg图形绘制路径,就是path标签中一长串与这个类似的字符串就行,至于symboloffset是设置这个自定义形状的偏移量,itemstyle设置它的颜色,关键在于data那里了,取消官方示例中的type类型和name属性,加上xaxis,yaxis,value这三个属性值,xaxis是横坐标数组的下标,yaxis是纵坐标数组中对应前面下标的值,value是markpoint的值。

到这里设置好后,实现自动轮播的效果,我们加个定时器,然后设置每隔一段时间后,data数组中的对象值的变动,在对其echarts进行重新绘制即可,因为我的项目是vue,所以我每次改变值的时候,都是用的this.$set对其echarts的option配置信息重新设定即可。

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

杀猪刀-墨林

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

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

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

打赏作者

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

抵扣说明:

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

余额充值