Echarts图表坐标轴文字太长,省略显示,鼠标放上显示全部(vue)

news2024/11/26 9:59:48

注意:记得加上这个,触发事件, triggerEvent: true,
重点:下面就是处理函数,在实例化图表的时候使用,传入参数是echarts的实例

// 渲染echarts
 firstBarChart() {
      const that = this
      
      let columnar = echarts.init(that.$refs.bar1)
      columnar.setOption({
        tooltip: {
          trigger: 'axis',
          axisPointer: {
            // 坐标轴指示器,坐标轴触发有效
            type: 'shadow', // 默认为直线,可选为:'line' | 'shadow'
          },
        },
        grid: {
          top: '3%',
          right: '3%',
          bottom: '3%',
          left: '0%',
          // 包含文本
          containLabel: true,
          // 是否显示网格线
          show: true,
          // 边框颜色
          borderColor: 'rgba(0, 240, 255, 0.3)',
        },
        xAxis: [
          {
            type: 'category',
            data: that.xmNameData,
            // 不要刻度
            axisTick: {
              alignWithLabel: false,
              show: false,
            },
            // 记得加上这个
            triggerEvent: true,
            axisLabel: {
              color: '#4c9bfd', // 文字颜色
              rotate: 45, // 文字倾斜
               // 文字省略
              formatter: function (value) {
                if (value.length > 3) {
                  return `${value.slice(0, 3)}...`
                }
                return value
              },
            },
          },
        ],
        yAxis: [
          {
            type: 'value',
            // 不要刻度
            axisTick: {
              alignWithLabel: false,
              show: false,
            },
            // 文字颜色
            axisLabel: {
              color: '#4c9bfd',
            },
            // 分割线
            splitLine: {
              lineStyle: {
                color: 'rgba(0, 240, 255, 0.3)',
              },
            },
          },
        ],
        series: [
          {
            name: ' 完成投资比例',
            type: 'bar',
            barWidth: '60%',
            data: that.wcblData,
            label: {
              show: true,
              position: 'inside',
            },
            // 颜色
            itemStyle: {
              color: new echarts.graphic.LinearGradient(
                // (0,0)点到(0,1)
                0,
                0,
                0,
                1,
                [
                  { offset: 0, color: 'red' }, // 0 起始颜色
                  { offset: 1, color: 'blue' }, // 1 结束颜色,
                ]
              ),
            },
          },
        ],
      })
		// 就是这个方法,解决放上提示全部
      that.extension(columnar)
      columnar.on('click', function (data) {
       // 添加点击事件
      })
    },
extension(chart) {
      // 注意这里,是以X轴显示内容过长为例,如果是y轴的话,需要把params.componentType == 'xAxis'改为yAxis
      // 判断是否创建过div框,如果创建过就不再创建了
      // 该div用来盛放文本显示内容的,方便对其悬浮位置进行处理
      var elementDiv = document.getElementById('extension')
      if (!elementDiv) {
        var div = document.createElement('div')
        div.setAttribute('id', 'extension')
        div.style.display = 'block'
        document.querySelector('html').appendChild(div)
      }
      chart.on('mouseover', function (params) {
        if (params.componentType == 'xAxis') {
          var elementDiv = document.querySelector('#extension')
          //设置悬浮文本的位置以及样式
          var elementStyle =
            'position: absolute;z-index: 99999;color: #fff;font-size: 12px;padding: 5px;display: inline;border-radius: 4px;background-color: #303133;box-shadow: rgba(0, 0, 0, 0.3) 2px 2px 8px'
          elementDiv.style.cssText = elementStyle
          elementDiv.innerHTML = params.value
          document.querySelector('html').onmousemove = function (event) {
            var elementDiv = document.querySelector('#extension')
            var xx = event.pageX - 10
            var yy = event.pageY + 15
            console.log('22', xx)
            elementDiv.style.top = yy + 'px'
            elementDiv.style.left = xx + 'px'
          }
        }
      })
      chart.on('mouseout', function (params) {
        //注意这里,我是以X轴显示内容过长为例,如果是y轴的话,需要改为yAxis
        if (params.componentType == 'xAxis') {
          var elementDiv = document.querySelector('#extension')

          elementDiv.style.cssText = 'display:none'
        }
      })
    },

 

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

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

相关文章

Typecho博客搭建 实现公网访问内网站点

文章目录 前言1. 环境安装2.安装Typecho3.安装cpolar内网穿透4. 固定公网地址5.配置Typecho 前言 Typecho是一款PHP语言编写的开源博客程序,它是一个轻量级的内容管理系统,专注于博客领域。支持多用户、多站点、多语言等功能,可以满足不同用…

多模态(文本、图片)数据融合模型(含公开数据集、文献及开源代码汇总)

多模态&#xff08;文本、图片&#xff09;数据融合模型&#xff08;含公开数据集、文献及开源代码汇总&#xff09; <center>多模态模型的应用跑代码普遍存在的问题 <center>多模态公开数据集<center>文献及开源代码 多模态模型的应用 多模态模型的应用按照…

zabbix3.4配置客户端

1.安装agent yum -y install zabbix zabbix-agent如果下载不动或者无外网环境请看 https://download.csdn.net/download/qq_45748758/88228235?spm1001.2014.3001.5501 免费自取 2、配置zabbix-agent&#xff0c;修改图片三个参数 vi /etc/zabbix/zabbix_agentd.conf3、启动…

WebDAV之葫芦儿·派盘+柚子记账

柚子记账是一个手机记账的软件,这个软件主要是给那些懒人进行设计的,这里有很多关于记账的模板可以让你直接在线使用,你只需要导入相关的数据就可以了,整个操作是非常简单的,而且你也可以进行自定义的图表制作,生成你自己的记账模式。每当你记完之后,系统都会自动给你总…

【excel密码】加密excel工作表的3种方法

Excel文件经常用于处理数据文件&#xff0c;在完成编辑之后&#xff0c;对文件进行加密可以更好的保护数据&#xff0c;今天分享加密excel工作表的3种方法。 打开密码 设置了打开密码的excel文件&#xff0c;打开文件就会提示输入密码才能打开excel文件&#xff0c;只有输入了…

档案馆库房温湿度监控系统技术性【解决方案】

档案存储环境会受诸多因素的影响,其中最为主要的因素就是档案库房的温度与湿度。其中&#xff0c;库房的温度指得是档案库房内大气的冷热程度&#xff1b;湿度是指库房大气中的水分含量。保持档案库房内环境恒温恒湿,不仅可以保障档案的保存质量&#xff0c;而且可以延长档案保…

linux中模拟RTOS中事件集

linux中通常如何处理事件集 在Linux中&#xff0c;没有直接对应于实时操作系统&#xff08;RTOS&#xff09;中事件集&#xff08;Event Set&#xff09;的概念。实时操作系统通常提供了一种机制&#xff0c;允许任务或线程根据事件的发生状态进行等待和唤醒。这通常通过信号量…

CW2B-3A-T、CW2B-6A-T、CW2B-10A-T插座式滤波器

CW2B-3A-T、CW2B-6A-T、CW2B-10A-T CW2B-3A-T(001)、CW2B-6A-T(001)、CW2B-10A-T(001) CW2B-3A-T(002)、CW2B-6A-T(002)、CW2B-10A-T(002) CW2B-3A-T(003)、CW2B-6A-T(003)、CW2B-10A-T(003) CW1D-3A-T、CW1D-6A-T、CW1D-10A-T CW2B-3A-T(004)、CW2B-6A-T(004)、CW2B-10A-…

基于ssm vue智慧城市实验室主页系统源码和论文

基于ssm vue智慧城市实验室主页系统源码和论文059 开发工具&#xff1a;idea 数据库mysql5.7 数据库链接工具&#xff1a;navcat,小海豚等 技术&#xff1a;ssm 摘 要 互联网发展至今&#xff0c;无论是其理论还是技术都已经成熟&#xff0c;而且它广泛参与在社会中的方…

【Maven教程】(三)基础使用篇:入门使用指南——POM编写、业务代码、测试代码、打包与运行、使用Archetype生成项目骨架~

Maven基础使用篇 1️⃣ 编写 POM2️⃣ 编写业务代码3️⃣ 编写测试代码4️⃣ 打包和运行5️⃣ 使用 Archetype生成项目骨架 1️⃣ 编写 POM 到目前为止&#xff0c;已经大概了解并安装好了Maven环境, 现在&#xff0c;我们开始创建一个最简单的 Hello World 项目。如果你是初次…

使用Selenium爬取动态表格中的多语言和编码格式

正文 Selenium是一个用于自动化Web浏览器的工具&#xff0c;它可以模拟用户的操作&#xff0c;如点击、输入、滚动等。Selenium也可以用于爬取网页中的数据&#xff0c;特别是对于那些动态生成的内容&#xff0c;如表格、图表、下拉菜单等。本文将介绍如何使用Selenium Python…

Jmeter 如何才能做好接口测试?

现在对测试人员的要求越来越高&#xff0c;不仅仅要做好功能测试&#xff0c;对接口测试的需求也越来越多&#xff01; 所以也越来越多的同学问&#xff0c;怎样才能做好接口测试&#xff1f; 要真正的做好接口测试&#xff0c;并且弄懂如何测试接口&#xff0c;需要从如下几…

JZ36 二叉搜索树与双向链表

问题描述&#xff1a; 输入一棵二叉搜索树&#xff0c;将该二叉搜索树转换成一个排序的双向链表。 问题要求&#xff1a; 1.要求不能创建任何新的结点&#xff0c;只能调整树中结点指针的指向。当转化完成以后&#xff0c;树中节点的左指 针需要指向前驱&#xff0c;树中节点…

“MyBatis进阶:分页与特殊字符处理“

目录 引言1. MyBatis的分页1.1 分页原理1.2 使用插件实现分页 2. MyBatis中特殊字符处理2.1 特殊字符的问题2.2 使用转义字符 总结 引言 在使用MyBatis进行数据库操作时&#xff0c;我们经常会遇到一些高级的需求&#xff0c;例如分页查询和特殊字符处理。本文将深入探讨如何在…

面试题(二)

目录 一.集合 (1) LinkedHashMap(JDK 1.8) (2) ArrayList (3) HashMap (4) ConcurrentHashMap 二. IO流 (1) 分类 (2) 应用 三.多线程 (1) 线程状态 (2) 死锁 (3) 应用 (4) 要点 (5) 线程池 返回 ThreadPoolExecutor 类分析 线程池原理分析 四. 数据库 (1) …

聚水潭无需API开发连接伙伴云,实现新增订单信息自动同步到表单汇总

聚水潭用户使用场景&#xff1a; 电商行业通常使用聚水潭作为企业的ERP系统。然而&#xff0c;每当聚水潭产生新订单时&#xff0c;企业人员常常需要将订单信息手动复制并录入到伙伴云存储、汇总&#xff0c;包括订单单号、状态、金额等20多项信息。这种人工手动复制和录入的方…

接口文档管理解决方案调研及Torna+Smart-doc的使用

文章目录 一、现状二、需求三、调研Swagger官方地址介绍 Knife4j官方地址介绍 Apifox官方地址介绍 Smart-doc Torna官方地址介绍 EasyYapi Yapi官方地址介绍 四、对比&#xff08;一&#xff09;Swagger1、部署方式2、优点3、缺点4、分享方式 &#xff08;二&#xff09;Knif…

心电芯片ADS1291的国产替代芯片LH001-91

2023年&#xff0c;在全球芯片市场的紧张局势下&#xff0c;国外芯片的价格和货量也随着时局的影响而变化&#xff0c;价格相对来说明会变得高昂。在此种大背景下&#xff0c;模拟芯片与GPU芯片都曾是最为紧缺的种类&#xff0c;并且价格也是高昂且不稳定&#xff0c;有时下了订…

档案库房温湿度调节的一些方法【经验】

1.前言背景 档案的寿命与档案库房的温湿度密切相关。不适宜的温湿度不仅可单独地作用于档案&#xff0c;而且可加速其他因素对档案的破坏。为了使档案库房的温湿度等符合档案的要求&#xff0c;需采取一定的措施&#xff0c;即对档案库房的温湿度进行控制与调节。 档案库房的…

月活近千万,连续 365 天无故障:货拉拉怎么做稳定性指标度量?

一分钟精华速览 每一位被故障折磨的稳定性负责人&#xff0c;都或多或少面临自证的困境&#xff1a;如何证明今年的稳定性工作是出色的&#xff1f;在无法完全避免故障发生的前提下&#xff0c;如何证明稳定性保障工作的价值&#xff1f;在团队和工具尚不完备时&#xff0c;如…