如何基于 echarts 实现区间柱状图(包括横向)?
始终如一
需求
需要利用 echarts 实现区间柱状图,效果如下:

效果来源于:g2-柱状图
借鉴 echarts 的 demo
demo 区间实现思路(视觉欺骗)
- 通过 bar 的 series 的
stack(堆叠)属性,实现柱子堆叠。 - 再通过 bar 的 series 的 itemStyle 设置作为辅助的柱子隐藏(透明度为 0)。
demo 不满足的点
- bar 的 label 显示:未区间
- bar 的 tooltip 显示:未区间
- 不支持多数据项
最终实现思路
- 通过 bar 的 series 的
stack(堆叠)属性,实现柱子堆叠。 - 通过 bar 的 series 的 itemStyle 设置作为辅助的柱子隐藏(透明度为 0)。
- 通过 bar 的 series 的 markPoint 用于显示区间范围的最小值。
- 通过将区间数据放入 data, 处理 tooltip 显示区间数值。
- 考虑到区间[负值,正值]的情况,需要再利用 series 的一个 item 来显示负值的部分。
实现效果
- 基于最终思路实现效果


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


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

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

遇到的问题:
- bar stack 堆叠属性 遇上 轴
type:"time"时会失效,因此有了 其他方案实现2 探索 - 提供的区间数据含 负值 时,也会异常,无法正常显示负值的柱子(需要再特殊处理)。如温度区间,效果来源highcharts-columnrange
代码映射
- 最终思路实现:demo1-bar-range-negative.html
- 最终思路缩减版实现:demo1-bar-range-optimize.html
- 基础思路实现:demo1-bar-range.html
- name + 值为时间:demo2-custom-range-status.html
源码
实践代码哦
如何基于 echarts 实现区间柱状图(包括横向)?的更多相关文章
- 基于Echarts的中国地图数据展示
发布时间:2018-10-31 技术:javascript+html5+canvas 概述 基于echarts的大数据中国地图展示,结合API定制,开发样式,监听鼠标事件,实现带参数路由跳转等 ...
- 前端统计图 echarts 实现简单柱状图
前端统计图 echarts实现简单柱状图 1. 引入 ECharts <!DOCTYPE html> <html> <head> <meta charse ...
- vue可视化图表 基于Echarts封装好的v-charts简介
**vue可视化图表 基于Echarts封装好的v-charts** 近期公司又一个新的需求,要做一个订单和销售额统计的项目,需要用到可视化图表来更直观的展示数据.首先我想到的是Echarts,众所周 ...
- 高速基于echarts的大数据可视化
[Author]: kwu 高速基于echarts的大数据可视化,echarts纯粹的js实现的图表工具.高速开发的过程例如以下: 1.引入echarts的依赖js库 <script type= ...
- 基于Echarts的股票K线图展示
发布时间:2018-10-31 技术:javascript+html5+canvas 概述 基于echarts的股票K线图展示,只需引用单个插件,通过简单配置,导入数据,即可实现炫酷复杂的K线 ...
- 如何基于 echarts 在柱状图或条形图上实现转换率?(有想法吗?)
目录 需求 探索一 探索二 探索三 转换实践思路1 转换实践思路2 其他思路 探索四(揭晓答案) 答案篇说明 backgroundColor 用法 双柱合一 始终在轴的中间 百分在变,但是距离轴的距离 ...
- 【前端统计图】echarts实现简单柱状图
图片.png <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <ti ...
- echarts renderItem-在区间段内展示连续数据
一.需求背景: 贴图说明:要求数据在不同类型的区间段内展示. 二.实现思路及代码 实现方法: 利用echarts的自定义配置:option.series[i].type='custom'中的rende ...
- 基于echarts 24种数据可视化展示,填充数据就可用,动手能力强的还可以DIY(演示地址+下载地址)
前言 我们先跟随百度百科了解一下什么是"数据可视化 [1]". 数据可视化,是关于数据视觉表现形式的科学技术研究. 其中,这种数据的视觉表现形式被定义为,一种以某种概要形式抽提出来 ...
随机推荐
- 如何拿到阿里P8 Offer-候选人视角谈面试
自我介绍 首先简单自我介绍一下,我叫陈映平,花名叫做小卡,2011年校招进入腾讯,是腾讯课堂B侧的前端技术负责人.2015年响应总理的号召,跟朋友一起出来创业,跟前面一位讲师的经历有点像,然后2018 ...
- dfs算法总结
DFS 深度优先搜索 主要有两种实现方法:栈和递归 什么是DFS?说白了就是一直遍历元素的方式而已,我们可以把它看成是一条小蛇,在每个分叉路口随意选择一条路线走,直到撞到南墙,才会调头返回到上一个分叉 ...
- linux pinmux 引脚多路复用驱动分析与使用
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/code_style/article/de ...
- Say Something About Of Flash Android
Why am I need say something about of flash android? It's at my college life when I touch flash andro ...
- 大话微服务(Big Talk in MicroService)
下面开始分析我的microservice 之旅. what? 是什么 why? 为什么 how? 什么做 1.什么是微服务 microservice 是 SOA(Service-Oriented Ar ...
- 一台电脑如何使用多个git账号?
git相信大家都在用,一般公司有一个账号,放公司自己架的服务器中,员工自己还有一个github或者gitee的账号,存放自己的一些私有代码.本篇文章总结一下,本人在公司开发机上,使用多个git账号的干 ...
- count(1) AND count(*) 对比
相信很多小伙伴都想知道count(1) 和 count(*) 的速度问题 ,今天我给大家做一下测试.我这里测试的是MySql数据库 声明:测试之前 我数据库表里面有100万条数据.我们先来测试coun ...
- CSS里盒子模型中【margin垂直方向边界叠加】问题及解决方案
边界重叠是指两个或多个盒子(可能相邻也可能嵌套)的相邻边界(其间没有任何非空内容.补白.边框)重合在一起而形成一个单一边界. 两个或多个块级盒子的垂直相邻边界会重合. 如果都是正边界,结果的边界宽度是 ...
- [转] strtol()详解
点击此处阅读原文 今天,在review 一些代码的时候,看到了strtol()这个函数,由于以前使用它的时候,还没有深刻的了解,这次,我决定探个究竟. 网上关于这个函数的资料大都来源于同份资料,lin ...
- 03 . Jenkins构建之代码扫描
Sonar简介 Sonar 是一个用于代码质量管理的开放平台.通过插件机制,Sonar可以集成不同的测试工具,代码分析工具,以及持续集成工具.与持续集成工具(例如 Hudson/Jenkins 等)不 ...