vue+echart 利用散点图实现柱状时间驻留图

产品的需求是这样的,以周为单位,显示每一天一个手机连接某一台路由器的开始时间到结束时间,以及连接次数,最后的实现效果是下图的样子,其中的每个柱表示某个手机连接到某个路由器的时间范围。鼠标移动到柱上表示样式整个开发的辛酸历程是这样的。最开始是尝试的echart的阶梯瀑布图,然后用了之后才发现,echart的阶梯瀑布图完全就是用和背景相同背景色的柱状图叠加起来的,因为我们的项目数据量可能会...
摘要由CSDN通过智能技术生成

产品的需求是这样的,以周为单位,显示每一天一个手机连接某一台路由器的开始时间到结束时间,以及连接次数,最后的实现效果是下图的样子,其中的每个柱表示某个手机连接到某个路由器的时间范围。
在这里插入图片描述
鼠标移动到柱上表示样式
在这里插入图片描述

整个开发的辛酸历程是这样的。

  1. 最开始是尝试的echart的阶梯瀑布图,然后用了之后才发现,echart的阶梯瀑布图完全就是用和背景相同背景色的柱状图叠加起来的,因为我们的项目数据量可能会比较大,如果使用阶梯瀑布图的话,那就相当于做一个柱要生成两份数据,大大的影响了性能,所以果断pass。
  2. 接下来其实就考虑到了,echart的散点图,最后定版也是使用的echart的散点图,但是当时也有两个小问题,在这里简单说明一下
    a. 散点图是圆形,通过设置series的symbol改为【rect】,修改图形形状
    b. 因为散点图之前的应该场景都只是给定一个范围,并不需要给定具体的范围等,在利用散点图时,其实设置的起始点为该散点的中心位置,因此需要设置一下范围平移。【symbolOffset: [‘5%’, ‘-50%’], //图标位置偏移】
  3. 具体的echart配置可以参照下面源码

html元素

<div class="resident-graph-div" id="residentGraphId"></div>

echart的配置相关源码

drawResidentGraph(data){
   
            this.residentChart = echarts.init(document.getElementById('residentGraphId'));
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值