echarts 横向柱状图示例

news2024/10/7 18:20:57

该示例有如下几个特点:

        ①实现tooltip自定义样式(echarts 实现tooltip提示框样式自定义-CSDN博客)

        ②实现数据过多时滚动展示(echarts 数据过多时展示滚动条-CSDN博客)

        ③柱状图首尾展示文字,文字内容嵌入图片

        ④柱状图终点处图片展示

代码如下:

this.options = {
  // 设置图表的位置
  grid: {
    x: 24, // 左间距
    y: 20, // 上间距
    x2: 24, // 右间距
    y2: 5, // 下间距
    containLabel: true, // grid 区域是否包含坐标轴的刻度标签, 常用于『防止标签溢出』的场景
  },
  // 提示框组件
  tooltip: {
    trigger: "axis", // 触发类型, axis: 坐标轴触发
    axisPointer: {
      // 指示器类型  'line' 直线指示器 'shadow' 阴影指示器 'none' 无指示器 'cross' 十字准星指示器。
      // 其实是种简写,表示启用两个正交的轴的 axisPointer。
      type: "none",
    },
    // 提示框浮层内容格式器,支持字符串模板和回调函数两种形式
    // 折线(区域)图、柱状(条形)图、K线图 : {a}(系列名称),{b}(类目值),{c}(数值), {d}(无)
    // formatter: "{b}: {c}件",
    className: 'custom-tooltip-box',
    formatter: function(params) {
      return `<div class='custom-tooltip-style'><span>${params[0].name}</span></br><div class="span"><span>库存数:</span><span>${params[0].value}</span></div></div>`
    },
  },
  // X轴
  xAxis: {
    type: "value", // 坐标轴类型,   'value' 数值轴,适用于连续数据
    // 坐标轴刻度
    axisTick: {
      show: false, // 是否显示坐标轴刻度 默认显示
    },
    // 坐标轴轴线
    axisLine: {
      // 是否显示坐标轴轴线 默认显示
      show: false, // 是否显示坐标轴轴线 默认显示
    },
    // 坐标轴在图表区域中的分隔线
    splitLine: {
      show: false, // 是否显示分隔线。默认数值轴显示
    },
    // 坐标轴刻度标签
    axisLabel: {
      show: false, // 是否显示刻度标签 默认显示
    },
  },
  yAxis: [
    // 左侧Y轴
    {
      type: "category", // 坐标轴类型,  'category' 类目轴,适用于离散的类目数据,为该类型时必须通过 data 设置类目数据
      // 坐标轴刻度
      axisTick: {
        show: false, // 是否显示坐标轴刻度 默认显示
      },
      // 坐标轴轴线
      axisLine: {
        // 是否显示坐标轴轴线 默认显示
        show: false, // 是否显示坐标轴轴线 默认显示
        lineStyle: {
          // 坐标轴线线的颜色
          color: "#fff",
        },
      },
      // 坐标轴在图表区域中的分隔线
      splitLine: {
        show: false, // 是否显示分隔线。默认数值轴显示
      },
      // 坐标轴刻度标签
      axisLabel: {
        show: true, // 是否显示刻度标签 默认显示
        fontSize: 16, // 文字的字体大小
        color: "#ffffff", // 刻度标签文字的颜色
        // 使用字符串模板,模板变量为刻度默认标签 {value}
        formatter: function(value) {
          return `{img|}{name|${value}}`
        },
        rich: {
          img:{
            backgroundColor: {
              image: "data:image/webp;base64,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"
            },
            width: 20,
            height: 20
          }
        },
        inside: true,
        textStyle: {
          verticalAlign: "top",
          padding: [-26, 0, 0, 0],
        },
      },
      data: this.echartData, // 类目数据,在类目轴(type: 'category')中有效
    },
    // 右侧Y轴
    {
      type: "category", // 坐标轴类型,  'category' 类目轴,适用于离散的类目数据,为该类型时必须通过 data 设置类目数据
      // 坐标轴轴线
      axisLine: {
        show: false,
      },
      // 坐标轴刻度
      axisTick: {
        show: false,
      },
      // 坐标轴刻度标签
      axisLabel: {
        show: true, // 是否显示刻度标签 默认显示
        fontSize: 18, // 文字的字体大小
        fontWeight: 600,
        color: "#ffffffcc", // 刻度标签文字的颜色
        // margin: 10, // 刻度标签与轴线之间的距离
        // 使用字符串模板,模板变量为刻度默认标签 {value}
        formatter: "{value}",
        inside: true,
        textStyle: {
          verticalAlign: "top",
          padding: [-26, 0, 0, 0],
        },
      },
      data: this.xAxisData, // 类目数据,在类目轴(type: 'category')中有效
    },
    // 右侧Y轴 图形
    {
      // 坐标轴轴线
      axisLine: {
        show: false,
      },
      // 坐标轴刻度
      axisTick: {
        show: false,
      },
      // 坐标轴刻度标签
      axisLabel: {
        show: false
      },
      data: this.xAxisData, // 类目数据,在类目轴(type: 'category')中有效
    },
  ],
  // 系列列表
  series: [
    {
      type: "bar", // 系列类型
      name: "订单转化率", // 系列名称, 用于tooltip的显示, legend 的图例筛选
      barMaxWidth: 12, // 柱条的最大宽度,不设时自适应
      showBackground: true, // 是否显示背景色
      backgroundStyle: {
        color: 'rgba(0,194,255,0.2)'
      },
      // 图形上的文本标签
      label: {
        show: false,
        // 标签的位置 left right bottom top inside,绝对的像素值 position: [10, 10],相对的百分比 position: ['50%', '50%']
        position: "inside",
      },
      // 图形样式
      itemStyle: {
        normal: {
          //颜色渐变函数 前四个参数分别表示四个位置依次为左、下、右、上
          color: new echarts.graphic.LinearGradient(0, 0, 1, 0, [
            {
              offset: 0,
              color: "rgba(0,133,255,0)" // 0% 处的颜色
            },
            {
              offset: 1,
              color: "#0085FF" // 100% 处的颜色
            }
          ])
        },
      },
      data: this.xAxisData, // 系列中的数据内容数组
    },
    {
      type: "pictorialBar", // 系列类型
      symbol: function(value) {
        if (value) {
          return "image://data:image/webp;base64,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"
        } else {
          return ""
        }
      }, // 标记的图形
      symbolSize: [15, 15], // 标记的大小
      symbolOffset: [10, 0], // 标记的偏移
      symbolPosition: "end", // 标记的位置
      // 图形的样式
      itemStyle: {
        normal: {
          //颜色渐变函数 前四个参数分别表示四个位置依次为左、下、右、上
          color: function(params) {
            if(params.value == 0) {
              return "rgba(255,255,255,0)"
            }
          }
        },
      },
      z: 12, // 控制图形的前后顺序。z 值小的图形会被 z 值大的图形覆盖
      data: this.xAxisData, // 系列中的数据内容数组
    },
  ],
  dataZoom: [
    {
      // 设置滚动条的隐藏与显示
      show: this.xAxisData.length > 12 ? true : false,
      // 设置滚动条类型
      type: "slider",
      // 设置背景颜色
      backgroundColor: "#fff",
      // 设置选中范围的填充颜色
      fillerColor: "#027FFF",
      // 设置边框颜色
      borderColor: "#027FFF",
      // 是否显示detail,即拖拽时候显示详细数值信息
      showDetail: false,
      // 数据窗口范围的起始数值
      startValue: this.xAxisData.length - 1,
      // 数据窗口范围的结束数值(一页显示多少条数据,从0开始)
      endValue: this.xAxisData.length - 11,
      // empty:当前数据窗口外的数据,被设置为空。
      // 即不会影响其他轴的数据范围
      filterMode: "empty",
      // 设置滚动条宽度,相对于盒子宽度
      width: 6,
      // 设置滚动条高度
      height: '100%',
      // bottom: 4,
      // 设置滚动条显示位置
      // left: 20,
      // right: 10, //右边的距离
      // 是否锁定选择区域(或叫做数据窗口)的大小
      zoomLoxk: true,
      // 控制手柄的尺寸
      // handleSize: 0,
      // dataZoom-slider组件离容器下侧的距离
      // xAxisIndex: [0],
      // 控制哪个轴,如果是number表示控制一个轴,
      // 如果是Array表示控制多个轴。此处控制第二根轴
      yAxisIndex: [0, 1],
      // start: 50,
      // end: 50,
      // zoomLock: true, //锁定区域禁止缩放(鼠标滚动会缩放,所以禁止)
      brushSelect: false, //刷选功能
      borderRadius: 3,
      showDataShadow: false, //是否显示数据阴影 默认auto
      // filterMode: "filter",
    },
    {
      // 没有下面这块的话,只能拖动滚动条,
      // 鼠标滚轮在区域内不能控制外部滚动条
      type: "inside",
      yAxisIndex: [0, 1],
      // 滚轮是否触发缩放
      zoomOnMouseWheel: false,
      // 鼠标滚轮触发滚动
      moveOnMouseMove: true,
      moveOnMouseWheel: true,
    },
  ]
}

效果图如下:

该示例中的属性可在官网中查阅,若有其他疑问可私信留言互相交流学习~

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【MMC/SD/SDIO】读写操作

SD 总线是基于命令和数据流&#xff0c;它们由一个开始 Bit 发起&#xff0c;由一个停止 Bit 结束。 Command&#xff1a;命令开始一个操作。命令由 Host 驱动&#xff0c;或者给单卡&#xff08;寻址命令&#xff09;&#xff0c;或者给所有连接的卡&#xff08;广播命令&…

【EI会议征稿】第七届大数据与应用统计国际学术研讨会(ISBDAS 2024)

第七届大数据与应用统计国际学术研讨会&#xff08;ISBDAS 2024&#xff09; 2024 7th International Symposium on Big Data and Applied Statistics 第七届大数据与应用统计国际学术研讨会&#xff08;ISBDAS 2024&#xff09;定于2024年3月8-10日在中国上海举行。会议旨在…

红黑树的插入与验证

红黑树&#xff0c;是一种二叉搜索树&#xff0c;但在每个结点上增加一个存储位表示结点的颜色&#xff0c;可以是Red或 Black。 通过对任何一条从根到叶子的路径上各个结点着色方式的限制&#xff0c;红黑树确保没有一条路 径会比其他路径长出俩倍&#xff0c;因而是接近平衡的…

微信小程序获取手机号报错getPhoneNumber:fail no permission

目录 一、问题描述二、解决方法 一、问题描述 微信小程序调用 API 获取手机号报错&#xff1a; getPhoneNumber:fail no permission二、解决方法 小程序没有认证&#xff0c;需要对小程序进行微信认证。如果是复用公众号资质认证&#xff0c;在公众号关联小程序后&#xff0…

EtherCAT 伺服控制功能块实现

EtherCAT 是运动控制领域主要的通信协议&#xff0c;开源EtherCAT 主站协议栈 IgH 和SOEM 两个项目&#xff0c;IgH 相对更普及一些&#xff0c;但是它是基于Linux 内核的方式&#xff0c;比SOEM更复杂一些。使用IgH 协议栈编写一个应用程序&#xff0c;控制EtherCAT 伺服电机驱…

MIKE水动力笔记19_统计平均潮差

本文目录 前言Step 1 ArcGIS中创建渔网点Step 2 将dfsu数据提取到渔网点Step 3 Python统计平均潮差 前言 日平均潮差&#xff08;average daily tidal range&#xff09;&#xff1a;日高潮潮高合计之和除以实有高潮个数为日平均高潮潮高&#xff0c;日低潮潮高合计之和除以实…

【漏洞复现】NUUO摄像头存在远程命令执行漏洞

漏洞描述 NUUO摄像头是中国台湾NUUO公司旗下的一款网络视频记录器&#xff0c;该设备存在远程命令执行漏洞&#xff0c;攻击者可利用该漏洞执行任意命令&#xff0c;进而获取服务器的权限。 免责声明 技术文章仅供参考&#xff0c;任何个人和组织使用网络应当遵守宪法法律&…

【C语法学习】25 - strncpy()函数

文章目录 1 函数原型2 参数3 返回值4 使用说明5 示例5.1 示例15.2 示例2 1 函数原型 strncpy()&#xff1a;将str指向的字符串的前n个字符拷贝至dest&#xff0c;函数原型如下&#xff1a; char *strncpy(char *dest, const char *src, size_t n);2 参数 strncpy()函数有三个…

linux进程间通信之共享内存(mmap,shm_open)

共享内存&#xff0c;顾名思义就是允许两个不相关的进程访问同一个逻辑内存&#xff0c;共享内存是两个正在运行的进 程之间共享和传递数据的一种非常有效的方式。不同进程之间共享的内存通常为同一段物理内存。进程可以将同一段物理内存连接到他们自己的地址空间中&#xff0c…

信号的机制——信号处理函数的注册

在 Linux 操作系统中&#xff0c;为了响应各种各样的事件&#xff0c;也是定义了非常多的信号。我们可以通过 kill -l 命令&#xff0c;查看所有的信号。 # kill -l1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP6) SIGABRT 7) SIGBUS …

【Spring】加载properties文件

文章目录 在Spring Context中加载properties文件测试总结 在Spring Context中加载properties文件 分为三步&#xff0c;如下图所示&#xff1a; 完整代码&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.…

【Linux】U盘安装的cfg引导文件配置

isolinux.cfg文件 default vesamenu.c32 timeout 600display boot.msg# Clear the screen when exiting the menu, instead of leaving the menu displayed. # For vesamenu, this means the graphical background is still displayed without # the menu itself for as long …

计算机是如何工作的(简单介绍)

目录 一、冯诺依曼体系 二、CPU基本流程工作 逻辑⻔ 电⼦开关——机械继电器(Mechanical Relay) ⻔电路(Gate Circuit) 算术逻辑单元 ALU&#xff08;Arithmetic & Logic Unit&#xff09; 算术单元(ArithmeticUnit) 逻辑单元(Logic Unit) ALU 符号 寄存器(Regis…

java:IDEA中的Scratches and Consoles

背景 IntelliJ IDEA中的Scratches and Consoles是一种临时的文件编辑环境&#xff0c;用于写一些文本内容或者代码片段。 其中&#xff0c;Scratch files拥有完整的运行和debug功能&#xff0c;这些文件需要指定编程语言类型并且指定后缀。 举例&#xff1a;调接口 可以看到…

Unity——URP相机详解

2021版本URP项目下的相机&#xff0c;一般新建一个相机有如下组件 1:Render Type(渲染类型) 有Base和Overlay两种选项&#xff0c;默认是Base选项 Base:主相机使用该种渲染方式&#xff0c;负责渲染场景中的主要图形元素 Overlay&#xff08;叠加&#xff09;:使用了Oveylay的…

Python大数据之linux学习总结——day09_hive函数

hive函数 函数分类标准[重点] 知识点: 原生分类标准: 内置函数 和 用户定义函数(UDF,UDAF,UDTF)分类标准扩大化: 本来&#xff0c;UDF 、UDAF、UDTF这3个标准是针对用户自定义函数分类的&#xff1b; 但是&#xff0c;现在可以将这个分类标准扩大到hive中所有的函数&#…

vue项目如何防范XSS攻击?

场景&#xff1a; 前后端交互的过程中&#xff0c;前端使用v-html或者{{}}渲染时&#xff0c;网页自动执行其恶意代码&#xff0c;如页面弹窗、跳转到钓鱼网站等 解决方案&#xff1a; 先说解决方式&#xff0c;其原理下文解释. 由于我是vue项目所以用的是vue-dompurify-html这…

大数据基础设施搭建 - Hadoop

文章目录 一、下载安装包二、上传压缩包三、解压压缩包四、配置环境变量五、测试Hadoop5.1 测试hadoop命令5.2 测试wordcount案例5.2.1 创建wordcount输入文本信息5.2.2 执行程序5.2.3 查看结果 六、分发压缩包到集群中其他机器6.1 分发压缩包6.2 解压压缩包6.3 配置环境变量 七…

行情分析——加密货币市场大盘走势(11.17)

大机构拉高出货&#xff0c;放心大胆干&#xff0c;笔者手上空单一直拿着&#xff0c;继续等待大饼下跌。 空单策略&#xff1a;入场37000附近 止盈34000-32500 止损39000 以太按照预期回调&#xff0c;继续盈利中&#xff0c;等待继续下跌。没有入场的可以入场&#xff0c;重…

你知道什么是Oracle嘛

文章目录 Oracle数据简介环境准备安装配置安装Oracle设置Oracle开机自启Oracle核心概念创建用户修改用户密码用户授权查看用户 数据备份总结 Oracle数据简介 Oracle Database&#xff0c;又名Oracle RDBMS&#xff0c;或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它…