始终如一

需求

需要利用 echarts 实现区间柱状图,效果如下:

效果来源于:g2-柱状图

借鉴 echarts 的 demo

  1. 柱状图-深圳月最低生活费组成
  2. 柱状图-阶梯瀑布图

demo 区间实现思路(视觉欺骗)

  1. 通过 bar 的 series 的 stack (堆叠)属性,实现柱子堆叠。
  2. 再通过 bar 的 series 的 itemStyle 设置作为辅助的柱子隐藏(透明度为 0)。

demo 不满足的点

  1. bar 的 label 显示:未区间
  2. bar 的 tooltip 显示:未区间
  3. 不支持多数据项

最终实现思路

  1. 通过 bar 的 series 的 stack (堆叠)属性,实现柱子堆叠。
  2. 通过 bar 的 series 的 itemStyle 设置作为辅助的柱子隐藏(透明度为 0)。
  3. 通过 bar 的 series 的 markPoint 用于显示区间范围的最小值。
  4. 通过将区间数据放入 data, 处理 tooltip 显示区间数值。
  5. 考虑到区间[负值,正值]的情况,需要再利用 series 的一个 item 来显示负值的部分。

实现效果

  1. 基于最终思路实现效果


  1. 最终思路缩减版-没处理负值的效果,即没有最终实现思路的第 5 步


  1. 基础思路实现 - 利用一个新的 series item 的 label 显示区间范围的最小值。

  2. name + 值为时间 - 利用 type: custom 自定义实现效果

遇到的问题:

  1. bar stack 堆叠属性 遇上 轴 type:"time" 时会失效,因此有了 其他方案实现2 探索
  2. 提供的区间数据含 负值 时,也会异常,无法正常显示负值的柱子(需要再特殊处理)。如温度区间,效果来源highcharts-columnrange

代码映射

  1. 最终思路实现:demo1-bar-range-negative.html
  2. 最终思路缩减版实现:demo1-bar-range-optimize.html
  3. 基础思路实现:demo1-bar-range.html
  4. name + 值为时间:demo2-custom-range-status.html

源码

实践代码哦

如何基于 echarts 实现区间柱状图(包括横向)?的更多相关文章

  1. 基于Echarts的中国地图数据展示

    发布时间:2018-10-31   技术:javascript+html5+canvas   概述 基于echarts的大数据中国地图展示,结合API定制,开发样式,监听鼠标事件,实现带参数路由跳转等 ...

  2. 前端统计图 echarts 实现简单柱状图

    前端统计图   echarts实现简单柱状图 1. 引入 ECharts <!DOCTYPE html> <html> <head> <meta charse ...

  3. vue可视化图表 基于Echarts封装好的v-charts简介

    **vue可视化图表 基于Echarts封装好的v-charts** 近期公司又一个新的需求,要做一个订单和销售额统计的项目,需要用到可视化图表来更直观的展示数据.首先我想到的是Echarts,众所周 ...

  4. 高速基于echarts的大数据可视化

    [Author]: kwu 高速基于echarts的大数据可视化,echarts纯粹的js实现的图表工具.高速开发的过程例如以下: 1.引入echarts的依赖js库 <script type= ...

  5. 基于Echarts的股票K线图展示

    发布时间:2018-10-31   技术:javascript+html5+canvas   概述 基于echarts的股票K线图展示,只需引用单个插件,通过简单配置,导入数据,即可实现炫酷复杂的K线 ...

  6. 如何基于 echarts 在柱状图或条形图上实现转换率?(有想法吗?)

    目录 需求 探索一 探索二 探索三 转换实践思路1 转换实践思路2 其他思路 探索四(揭晓答案) 答案篇说明 backgroundColor 用法 双柱合一 始终在轴的中间 百分在变,但是距离轴的距离 ...

  7. 【前端统计图】echarts实现简单柱状图

    图片.png <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <ti ...

  8. echarts renderItem-在区间段内展示连续数据

    一.需求背景: 贴图说明:要求数据在不同类型的区间段内展示. 二.实现思路及代码 实现方法: 利用echarts的自定义配置:option.series[i].type='custom'中的rende ...

  9. 基于echarts 24种数据可视化展示,填充数据就可用,动手能力强的还可以DIY(演示地址+下载地址)

    前言 我们先跟随百度百科了解一下什么是"数据可视化 [1]". 数据可视化,是关于数据视觉表现形式的科学技术研究. 其中,这种数据的视觉表现形式被定义为,一种以某种概要形式抽提出来 ...

随机推荐

  1. 逐行解读HashMap源码

    [本文版权归微信公众号"代码艺术"(ID:onblog)所有,若是转载请务必保留本段原创声明,违者必究.若是文章有不足之处,欢迎关注微信公众号私信与我进行交流!] 一.写在前面 相 ...

  2. rpm安装Clickhouse

    1. 下载相关安装包 在opt目录下创建clickhouse目录,方便下载文件 Cd /opt/clickhouse  一次执行一下命令 ① wget --content-disposition ht ...

  3. .gitignore文件详细说明

    简介 有些时候,你必须把某些文件放到 Git 工作目录中,但又不能提交它们,比如保存了数据库密码的配置文件.Java编译生成的.class文件.处理这个需求很简单,从不git add它们就可以.但这样 ...

  4. Spring Boot 集成 Swagger 构建接口文档

    在应用开发过程中经常需要对其他应用或者客户端提供 RESTful API 接口,尤其是在版本快速迭代的开发过程中,修改接口的同时还需要同步修改对应的接口文档,这使我们总是做着重复的工作,并且如果忘记修 ...

  5. 凭这份pdf让我轻松拿下了蚂蚁金服、字节跳动、小米等大厂的offer

    关于程序员,除了做项目来提高自身的技术之外,还有一种提升自己的专业技能就是:多!看!书! 小编整理出一篇Java进阶架构师之路的核心知识,同时也是面试时面试官必问的知识点,篇章也是包括了很多知识点,其 ...

  6. <VCC笔记> 推断操作符,映射和量词

    推断操作符 在VCC中,==>符号意味着逻辑推理结果,即离散数学中的蕴涵关系.P==>Q等价于((!P)||(Q)).是非常常用的操作符. 量词(quantifier) 关于量词,这里指的 ...

  7. 手写网页扫雷之css部分

    #ui{ text-align: center; } #saolei{ width: 500px; height: 500px; border: 1px solid #456345; margin: ...

  8. 关键时刻,让你的iphone拒绝掉的所有来电

    夜间被骚扰电话吵醒是会非常烦躁的,以下就是iphone的勿扰模式,配合刚出的夜间深夜模式非常的nice. 可以自定义设置时间段,每天智能切换. 也可以开启个人收藏的白名单,让家人有紧急事情也可以联系到 ...

  9. Brainman(规律题)【数学思想】

    Brainman 题目链接(点击) Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 12942   Accepted: 650 ...

  10. MQ系列(0)——MQ简介

    mq简介 mq 就是消息队列(Message Queue).想必大家对队列的数据结构已经很熟悉了,消息队列可以简单理解为:把要传输的数据放在队列中,mq 就是存放和发送消息的这么一个队列中间件.在消息 ...