vue echart实现横向柱状图颜色渐变、标签右对齐

需求:用echart实现柱状图的横向展示,对指定数据的柱状图进行颜色区分,且对应标签值展示在柱状图右侧,实现文字的右对齐。
主要问题点:
1、柱状图的颜色渐变
通过colorStops设置color渐变的起止颜色,

colorStops: [
  {
    offset: 0.01, // 颜色的开始位置
    color: 'blue' // 0% 处的颜色
  },
  {
    offset: 0.99, // 颜色的结束位置
    color: 'orange' // 100% 处的颜色
  }
]

2、指定某一个柱状图颜色
给data中的指定颜色值进行特殊设置:

data: [111,0,222,555,333,666,999,
  {
    value: 369,
    label:'巴西',
    itemStyle: {
      color: 'red'
    }
  }
]

3、使用双Y轴实现标签右对齐
设置两个Y轴,一个为原本的名字,另一个为具体对应的数值。
效果如下图所示:
在这里插入图片描述
完整代码如下:

import * as echarts from 'echarts';

var chartDom = document.getElementById('main');
var myChart = echarts.init(chartDom);
var option;

option = {
  title: {
    text: '',
    subtext: ''
  },
  tooltip: {
    trigger: 'item' //悬浮提示框不显示
  },
  grid: {
    //绘图区调整
    x: 150, //左留白
    y: 30, //上留白
    x2: 100, //右留白
    y2: 30 //下留白
  },
  xAxis: [
    {
      show: false,
      type: 'value',
      boundaryGap: [0, 0],
      position: 'top',
      max: 'dataMax' // 保证百分比和柱状图宽度对应得上
    }
  ],
  yAxis: [
    {
      type: 'category',
      data: ['印尼', '美国', '印度', '中国', '内蒙古', '北京', '新疆', '巴西'],
      // axisTick: { // 刻度
      //   show: false // 不显示刻度线
      // },
      axisTick: {
        show: true,//隐藏刻度线
        alignWithLabel: true,//设置刻度线与标签对齐
        length: 4
      },
      axisLine: {
        show: true // 设置轴线
      },
      boundaryGap: false,// 坐标轴是否留白
    },
    {
      type: 'category',
      data: [[111], [0], [222], [555], [333], [666], [999], [369]],
      // 刻度
      axisTick: {
        show: false // 不显示刻度线
      },
      axisLine: {
        show: false // 设置轴线
      },
      axisLabel: {
        textStyle: {
          fontSize: '12',
          color: '#a1a1a1' // 坐标值的具体的颜色
        },
        formatter: function (value) {
          return value + '人';
        }
      },
      boundaryGap: false
    }
  ],
  series: [
    {
      name: '',
      type: 'bar',
      tooltip: { show: false },
      barMinHeight: 0, //最小柱高
      barWidth: 30, //柱宽度
      barMaxWidth: 100, //最大柱宽度
      barGap: '-100%', // 两条柱条重叠
      showBackground: true,
      data: [
        111,0,222,555,333,666,999,
        {
          value: 369,
          // label:'巴西',
          itemStyle: {
            color: {
              colorStops: [
                {
                  offset: 0.01, // 颜色的开始位置
                  color: 'blue' // 0% 处的颜色
                },
                {
                  offset: 0.99, // 颜色的结束位置
                  color: 'orange' // 100% 处的颜色
                }
              ]
            }
          }
        }
      ],
      itemStyle: {
        normal: {
          //柱状图颜色
          // color:'red',
          // 每个柱子的颜色即为colorList数组里的每一项,如果柱子数目多于colorList的长度,则柱子颜色循环使用该数组
          color: function (params) {
            // var index = params.dataIndex
            var colorList = [
              // 渐变颜色的色值和透明度
              // 透明度从0
              'yellow', // 到透明度1 ,如果需要不同的颜色直接修改不同颜色即可
              'red'
            ];
            return {
              colorStops: [
                {
                  offset: 0.01, // 颜色的开始位置
                  color: colorList[0] // 0% 处的颜色
                },
                {
                  offset: 0.99, // 颜色的结束位置
                  color: colorList[1] // 100% 处的颜色
                }
              ]
            };
          },
          label: {
            show: false, //显示文本
            position: ['100%', '0%'] //数据值位置
            // textStyle:{  // 单独设置标签样式
            //     color:'#000',
            //     fontSize:'30'
            // }
          },
          // 柱形图圆角,初始化效果
          barBorderRadius: [0, 15, 15, 0]
        }
      }
    }
  ]
};
myChart.setOption(option);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/243856.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

在Linux上安装配置Nginx高性能Web服务器

1 前言 Nginx是一个高性能的开源Web服务器,同时也可以作为反向代理服务器、负载均衡器、HTTP缓存以及作为一个邮件代理服务器。它以其出色的性能和灵活性而闻名,被广泛用于处理高流量的网站和应用程序。本文将介绍在Linux环境中安装Nginx的步骤&#xf…

josef约瑟 静态电压继电器 HWY-41B 19-240V 导轨式安装

HWY-40系列无辅源静态电压继电器 HWY-41A无辅源静态电压继电器 HWY-42A无辅源静态电压继电器 HWY-43A无辅源静态电压继电器 HWY-44A无辅源静态电压继电器 HWY-45A无辅源静态电压继电器 HWY-41B无辅源静态电压继电器 HWY-42B无辅源静态电压继电器 HWY-43B无辅源静态电压继电器 …

【项目管理】CMMI对项目管理有哪些个人启发和思考

导读:本人作为项目经理参与公司CMMI5级评审相关材料准备工作,现梳理CMMI有关知识点,并结合项目给出部分示例参考,以及本人对于在整理材料过程中一些启发和体验思考。 目录 1、CMMI定义 2、CMMI-5级 3、CMMI文档清单 4、示例-度…

多表查询、事务、索引

目录 数据准备 分类 内连接 外连接 子查询 事务 四大特性 索引 数据准备 SQL脚本: #建议:创建新的数据库 create database db04; use db04;-- 部门表 create table tb_dept (id int unsigned primary key auto_increment comment 主键…

如何制作安装“易读、易懂、易操作”的电子版说明书

在当今的数字化时代,电子版说明书已经不再是单纯的技术文档。对于大多数用户来说,电子说明书是他们接触产品或服务的第一个触点,它直接影响到用户对产品或服务的初步印象和后续使用体验。那么,如何制作安装一份“易读、易懂、易操…

基于CNN+数据增强+残差网络Resnet50的少样本高准确度猫咪种类识别—深度学习算法应用(含全部工程源码)+数据集+模型(一)

系列文章目录 基于CNN数据增强残差网络Resnet50的少样本高准确度猫咪种类识别—深度学习算法应用(含全部工程源码)数据集模型(一) 基于CNN数据增强残差网络Resnet50的少样本高准确度猫咪种类识别—深度学习算法应用(含全部工程源码)数据集模型&#xf…

想速成硬件工程师?请先学这50个电路

要说在电子工程师所有分类里,哪个岗位技术含量极高且不易被淘汰?那毫无疑问自然是硬件工程师,虽然工资略低于软件工程师,但技术在手,永远不怕没饭碗,所以越来越多人选择成为硬件工程师,那么想要…

华为交换机——配置策略路由(基于IP地址)示例

一、组网需求: 汇聚层Switch做三层转发设备,接入层设备LSW做用户网关,接入层LSW和汇聚层Switch之间路由可达。汇聚层Switch通过两条链路连接到两个核心路由器上,一条是高速链路,网关为10.1.20.1/24;另外一…

智能部署之巅:Amazon SageMaker引领机器学习革新

本篇文章授权活动官方亚马逊云科技文章转发、改写权,包括不限于在 亚马逊云科技开发者社区, 知乎,自媒体平台,第三方开发者媒体等亚马逊云科技官方渠道。 (全球TMT2023年12月6日讯)亚马逊云科技在2023 re:Invent全球大…

动画制作与动画控制器的使用_unity基础开发教程

动画制作与动画控制器的使用 导入素材创建动画控制器制作人物动画 前面我们讲过2D游戏中环境地图的制作,这里教大家使用动画控制器的使用 导入素材 先导入一下素材 选择window,点击Asset Store 点击Search online 搜索栏输入Sunny,然后回车…

qt 标准对话框的简单介绍

qt常见的标准对话框主要有,标准文件对话框QFileDialog,标准颜色对话框QColorDialog,标准字体对话框QFontDialog,标准输入对话框QInputDialog,标准消息框QMessageBox...... 1. 标准文件对话框QFileDialog,使用函数getOpenFileName()获取用户选择的文件. //qt 函数getOpenFileN…

【QT 5 调试软件+Linux下调用脚本shell-经验总结+初步调试+基础样例】

【QT 5 调试软件Linux下调用脚本shell-经验总结初步调试基础样例】 1、前言2、实验环境3、自我总结4、实验过程(1)准备工作-脚本1)、准备工作-编写运行脚本文件2)、给权限3)、运行脚本 (2)进入q…

学习openAI 短长期AGI计划、使命、宪章、开创性研究、产品、工作待遇等

网站的设计:简洁而现代 主页 使命:Creating safe AGI that benefits all of humanity. (比人类更聪明的人工智能系统)(自己实现或帮别人实现都认为是达成使命)(造福全人类:最大限…

windows任务计划的创建、导出和导入

创建任务计划 任务名称 任务触发器 执行bat的话起始于必须填写 创建成功 导出任务计划 选择导出路径 导出成功 导入任务计划 可视化界面导入任务计划 选择任务计划的xml文件 点击确定 导入成功 命令行导入计划任务 cd /d D:\迅雷下载schtasks.exe /create /tn 1234 /xml 123…

Ubuntu 22.04 Tesla V100s显卡驱动,CUDA,cuDNN,MiniCONDA3 环境的安装

今天来将由《蓝创精英团队》带来一个Ubuntu 显卡环境的安装,主要是想记录下来,方便以后快捷使用。 主要的基础环境 显卡驱动 (nvidia-smi)CUDA (nvidia-smi 可查看具体版本)cuDNN (cuda 深度学习加速库)Conda python环境管理(Miniconda3) Nvidia 驱动…

yolov8实时推理目标识别、区域分割、姿态识别 Qt GUI

介绍一个GUI工具,可以实时做yolov8模型推理,包括目标检测、姿态识别、跟踪、区域分割等操作。 可以接入图像、视频或者RTSP视频流进行验证。 推理模型用的是yolov8转onnx之后的。用ultralytics自带的转换即可,不用带NMS。 框架用的是Qt 任…

代码随想录刷题题Day13

刷题的第十三天,希望自己能够不断坚持下去,迎来蜕变。😀😀😀 刷题语言:C Day13 任务 ● 104.二叉树的最大深度 559.n叉树的最大深度 ● 111.二叉树的最小深度 ● 222.完全二叉树的节点个数 1 二叉树的最大…

戴尔外星人Alienware m15 R7原装出厂Win11预装oem系统

链接:https://pan.baidu.com/s/1_ISrHkLDXV3H5iB5k3oldA?pwd4ba9 提取码:4ba9 原厂Windows11系统自带所有驱动、出厂主题壁纸、系统属性专属LOGO标志、Office办公软件、MyAlienware、戴尔外星人控制中心等预装程序 如果不是想要的型号或者不确定具…

【SpringBoot】进阶之Freemarker运用(一起探索freemarker的奥秘吧)

前言 在上一期的博客分享中,我们一起了解了有关SpringBoot的一些理论知识以及简单的运用方法。今天我们进一步的了解,今天给大家分享的是Freemarker的基础使用及案例演示。请认真仔细观看哦 一、FreeMarker简介 1. 概述(什么是FreeMarker&am…

[OpenWrt]RAX3000一根线实现上网和看IPTV

背景: 1.我家电信宽带IPTV 2.入户光猫,桥接模式 3.光猫划分vlan,将上网信号IPTV信号,通过lan口(问客服要光猫超级管理员密码,具体教程需要自行查阅,关键是要设置iptv在客户侧的vlan id&#…