需求背景

需要在柱状图上实现“画线”,作为其它数据的标识,图例

代码实现思路:“画线部分”由两部分组成,一部分透明柱子加线的部分

    let e5Data = {lastVal:[10,20,30,40,50],stationName:['name1','name2','name3','name4','name5'],breakevenEle:[6,30,42,40,10]};let lastVals = e5Data.lastVal;/*计算横线的显示高度,echarts图的y轴是自适应的,所以这里求出最大值,并按照比例计算出线的高度,这里可以自己调整*/let lineHeightData = eval("Math.max(" +lastVals.toString()+")") * 0.003;/*计算盈亏点线的高度*/let lineHeightDatas = [];lastVals.forEach(()=>{ lineHeightDatas.push(lineHeightData);});option = {grid: {borderWidth: 1,},legend: {/*这里是四个指标,(去年同期和本月是柱状,增减百分比是折线,平衡点是在柱状上的横线)*/data: ['去年同期','盈亏平衡点'],textStyle: {color: '#A7A7A7',},},yAxis: [/*横坐标*/{axisTick: {show: false},type: 'category',axisLine: {lineStyle: {type: 'solid',color: '#f8f8f8',//左边线的颜色width: '1.5'//坐标线的宽度},},axisLabel: {color: "#A7A7A7",},data: e5Data.stationName,axisPointer: {type: 'shadow'}},/*隐藏一个不显示的横坐标,用作横线的位置*/{type: 'category',axisLine: {show: false},axisTick: {show: false},axisLabel: {show: false},splitArea: {show: false},splitLine: {show: false},data: []},],xAxis: [{type:'value',axisLine: {show: false},axisTick: {show: false},splitLine: {show: true,lineStyle: {color: ['#F8F8F8'],width: 1,type: 'solid'}},axisLabel: {color: ['#A7A7A7'],showMaxLabel: true,formatter: '{value}'}}],series: [{// name: '去年同期',/*基础数据*/type: 'bar',barMaxWidth: 20,itemStyle: {normal: {color: '#238ef8'}},data: e5Data.lastVal},{/* 这个bar是撑起横线的高度,并设置透明*/// name: "盈亏平衡点",stack: 'breakevenEleGroup', /* 盈亏点数据组,需要设置才能将两个bar堆积在一起*/type: 'bar',barMaxWidth: 20,yAxisIndex: 1,itemStyle: {normal: {color: 'rgba(0,0,0,0)'/* 设置bar为隐藏,撑起下面横线*/}},data: e5Data.breakevenEle},{/* 这个bar是横线的显示*/// name: "盈亏平衡点",stack: 'breakevenEleGroup', /* 盈亏点数据组,需要设置才能将两个bar堆积在一起*/type: 'bar',barMaxWidth: 40,yAxisIndex: 1,barGap: '0',itemStyle: {normal: {color: '#c6504d'}},data: lineHeightDatas}]}

Echarts柱状图柱子上“画线”相关推荐

  1. html文字前画线代码,在div上画线

    拖动 要在div上拖放图标,我可以在div上放置图标并轻松拖动它们.但我不知道如何实现"Scribble"功能(例如,使用类似鼠标的笔在div上画线,就像在画布上一样). 下面是我 ...

  2. Unity在Canvas上画线(Draw Line)实现

    # 前言 目前Unity官方提供的UI扩展包中包含了UILineRenderer组件,本篇实现与UILineRenderer实现一致,主要讲解其基本使用与实现过程.不想看的同学可以直接下载官方扩展包. ...

  3. ArcGIS API for JavaScript根据两个点坐标在地图上画线

    ArcGIS API for JavaScript根据两个点坐标在地图上画线 比如说a(xxxx,xxxxx),b(xxxx,xxxxx).利用这两个点画一条线 var polyline = new ...

  4. QT 实现Label上画线

    实现功能:Label上有一张图片,用画笔在图像上画线. 一.头文件添加以下函数和变量 QMouseEvent * mouseEvent;void mousePressEvent(QMouseEvent ...

  5. cv2 在图片上画线

    import cv2 # capture=cv2.VideoCapture(0) img=cv2.imread('../../img/street.jpg',1) cv2.line(img,(0,0) ...

  6. echarts柱状图柱子上方数据标签显示

    echarts柱状图柱子上方数据标签显示 如图开启显示,也可以修改样式.

  7. echarts 柱状图柱子改成圆柱体_玩转ECharts之实现“顶端装饰”

    前言 玩转ECharts系列,主要为大家讲解我们基于ECharts如何实现企业级大屏项目中较为常用的各种"奇奇怪怪"的图表,接下来我们将通过几篇文章从基础图表开始为大家详细讲解实现 ...

  8. OpenCV在图像上画线、矩形、椭圆、多边形、填充的多边形、圆、显示文字

    OpenCV在图像上随机画直线.椭圆.多边形.圆.显示文字 代码如下: /*** @file Drawing_2.cpp* @brief Simple sample code*/#include &l ...

  9. 如何使用Graphics2D在一张图片上画线(包括箭头)

    有这样一个需求,在一张图片上画几条线并保存,如图所示: 已知各个点的x,y坐标,坐标范围是[0.000,1],即将横纵方向分成1000份. 我们可以使用java.awt.Graphics2D的库来实现 ...

最新文章

  1. (7)Zabbix分布式监控proxy实现
  2. c语言 fopen、fwrite、fread、fclose函数(打开文件进行读写覆盖或追加)
  3. 初探SQL Server 2008商业智能
  4. spring cloud微服务分布式云架构-Spring Cloud简介
  5. spirng cloud docker部署
  6. hdu 1166 树状数组解
  7. 【总结——HTTP协议】
  8. D1格式是720*576还是704*576
  9. java ip地址定位,Java根据IP地址定位位置
  10. java编程基础总结——20.foreach遍历及lambda表达式
  11. 谁偷了我的1天,JSON格式化时区问题
  12. 移植Python3到TQ2440(二)
  13. python--控制窗体
  14. STM32的存储器与寄存器
  15. 用Arduino播放音乐
  16. Java中如何将一个数组分割成多个等长度的数组
  17. 对js原型对象的理解
  18. 【观察】华为云开天aPaaS:经验即服务“加持”,数字化转型“加速”
  19. 《PMP学习笔记》1.2 财务评价指标
  20. termux基础入门:论如何在手机上学习linux

热门文章

  1. 基于数据要素流通视角的数据溯源研究进展
  2. HEG运行错误:GetBeginAndEndLocs
  3. 网站数据采集的10个经典方法
  4. cypress 框架介绍及元素定位
  5. Delphi与Word之间的融合技术
  6. Compact Multi-Signatures for Smaller Blockchains学习笔记
  7. 04 ElasticSearch分词及高阶搜索
  8. Vue 扫码及生成二维码
  9. canvas教程14-资源管理器
  10. 华为服务器cpu型号,服务器cpu型号 数字