Echarts--x轴文本过长,设置超出隐藏显示省略号,鼠标悬浮上显示全部
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<!--引入js文件-->
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.js"></script>
<script src="https://cdn.bootcdn.net/ajax/libs/echarts/4.8.0/echarts-en.common.js"></script>
<div id="charts2" style="width: 99%; height: 390px; margin: 3px auto;"></div>
<script>
window.onload = function () {
var option = {
title: {
text: 'xxxx统计',
x: 'left',
y: 'top',
textStyle: {
fontSize: 14,
fontStyle: 'normal',
fontWeight: 'bold',
}
},
tooltip: {
trigger: 'axis',
axisPointer: { // 坐标轴指示器,坐标轴触发有效
type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
}
},
legend: {
x: '15%',
textStyle: { //图例文字的样式
fontSize: 12
},
data: ['xxxx']
},
grid: {
left: '3%',
right: '2%',
top: '15%',
containLabel: true
},
xAxis: {
type: 'category',
scale: true,
triggerEvent: true,
//设置文本过长超出隐藏...表示
axisLabel: {
margin: 8,
formatter: function (params) {
var val = "";
if (params.length > 4) {
val = params.substr(0, 4) + '...';
return val;
} else {
return params;
}
}
},
//也可以从后台获取数据
data: ['这是名称 非常长的商品1',
'这是名称比商品1还长很多的商品2', '这同样是名称很长的商品3这同样是名称很长的商品3这同样是名称很长的商品3这同样是名称很长的商品3这同样是名称很长的商品3', '短的商品4']
},
yAxis: {
type: 'value',
},
series: [{
name: 'xxxx',
type: 'bar',
stack: '总量',
barWidth: 3,
label: {
normal: {
show: false,
position: 'insideRight',
formatter: function (params) {
if (params.value > 0) {
return params.value;
} else {
return '';
}
}
}
},
data: [123]
}]
};
// 基于准备好的dom,初始化echarts实例
var chart2 = echarts.init(document.getElementById('charts2'));
chart2.clear();
chart2.setOption(option);
// 页面监控宽度的变化
window.addEventListener("resize", function () {
chart2.resize();
});
extension(chart2);//这个方法是用来处理鼠标悬浮显示全部内容的
function extension(chart2) {
//判断是否创建过div框,如果创建过就不再创建了
//该div用来盛放文本显示内容的,方便对其悬浮位置进行处理
var id = document.getElementById("extension");
if (!id) {
var div = "<div id = 'extension' sytle=\"display:block\"></div>";
$("html").append(div);
}
chart2.on('mouseover', function (params) {
console.log(params)
//注意这里,我是以X轴显示内容过长为例,如果是y轴的话,需要改为yAxis
if (params.componentType == "xAxis") {
//设置悬浮文本的位置以及样式
$('#extension').css({
"position": "absolute",
"color": "#333",
"font-size": "12px",
"padding": "5px",
"display": "inline",
'border-radius': '4px',
'background-color': 'rgba(255, 255, 255, 0.5)',
'box-shadow': 'rgba(0, 0, 0, 0.3) 2px 2px 8px'
}).text(params.value);
$("html").mousemove(function (event) {
var xx = event.pageX - 10;
var yy = event.pageY + 15;
$('#extension').css('top', yy).css('left', xx);
});
}
});
chart2.on('mouseout', function (params) {
//注意这里,我是以X轴显示内容过长为例,如果是y轴的话,需要改为yAxis
if (params.componentType == "xAxis") {
$('#extension').css('display', 'none');
}
});
}
}
</script>
</body>
</html>
Echarts--x轴文本过长,设置超出隐藏显示省略号,鼠标悬浮上显示全部的更多相关文章
- echarts x轴名称太长
echarts x轴名称太长了,隐藏一部分,鼠标移到名称上,显示全称 function extension(mychart, type) { let extension = document.getE ...
- Echarts X轴内容过长自动隐藏,鼠标移动上去显示全部名称方法
最近公司做项目,使用echarts做开发,碰到一些数据的名称很长导致图例展示的效果不是很好,自己写了一个方法,当X轴内容过长时自动隐藏,鼠标移动上去显示全部名称 样例: 图二是鼠标移动到名称显示的,怎 ...
- html使用css让文字超出部分用省略号三个点显示的方法案例
html使用css让文字超出部分用省略号三个点显示的方法: 我正确使用的就是下面的代码,li里面是a标记.在IE和google中使用是正常的,火狐不知道,我也不在意,等你来测 li{ display: ...
- Echarts x轴文本内容太长的几种解决方案
Echarts 标签中文本内容太长的时候怎么办 ? - 1对文本进行倾斜 在xAxis.axisLabe中修改rotate的值 xAxis: { data: ["衬衫11111", ...
- 使用flex的同时设置超出喜爱是省略号,
超出宽度,显示省略号 overflow:hidden; white-space:nowrap; text-overflow:ellipsis; 需要注意的是,在移动端在flex元素中的内容进行省略文字 ...
- text-overflow:ellipsis实现超出隐藏时省略号显示
text-overflow:ellipsis;要达到的效果是:文字超出容器宽度时,文字被隐藏的文字用省略号代替.所以该属性只能用于块状元素或行内块元素中,对行内元素是不起作用的. 一般和white-s ...
- HTML中文本过长时自动隐藏末尾部分或中间等任意部分
一. 一般情况下,HTML字符串过长时都会将超过的部分隐藏点,方法如下: 设置CSS: .ellipsis-type{ max-width: 50px; ...
- html使用css让文字多行超出部分用省略号三个点显示的方法案例
text-overflow: -o-ellipsis-lastline;overflow: hidden;text-overflow: ellipsis;display: -webkit-box;-w ...
- CSS多行文字超出隐藏加省略号
overflow: hidden; text-overflow:ellipsis; white-space: nowrap; 限制行数 overflow: hidden; text-overflow: ...
- echarts图表X轴文字过长解决解决方案:根据文字长度自动旋转
Echarts 标签中文本内容太长的时候怎么办 ? 关于这个问题搜索一下,有很多解决方案.无非就是 省略(间隔显示).旋转文字方向.竖排展示 前面两种解决方案,就是echarts暴露的: { ax ...
随机推荐
- 2021-11-12:前 K 个高频元素。给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。提示:1 <= nums.length <=
2021-11-12:前 K 个高频元素.给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素.你可以按 任意顺序 返回答案.提示:1 <= nums.length ...
- 2021-10-16:单词拆分 II。给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,在字符串中增加空格来构建一个句子,使得句子中所有的单词都在词典中。返回所有这些可能的句子。
2021-10-16:单词拆分 II.给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,在字符串中增加空格来构建一个句子,使得句子中所有的单词都在词典中.返回所有这些可能的句子. ...
- 【Azure Redis 缓存】使用开源工具redis-copy时遇见6379端口无法连接到Redis服务器的问题
问题描述 当使用Azure Redis服务时,需要把一个Redis服务的数据导入到另一个Redis上,因为Redis服务没有使用高级版,所以不支持直接导入/导出RDB文件. 以编程方式来读取数据并写入 ...
- DP杂谈【持续更新中】
什么是DP? 推荐看一下. 正文 滚动数组优化 在一些空间贼小,时间还好的 DP 题目里,会用到优化空间的小技♂巧--滚动数组优化. 滚动数组,顾名思义,一个会滚动的数组,主要是怎样个滚法呢?接下来我 ...
- 如何让ChatGPT生成Midjourney提示词
导读:最近AI绘画非常的火,今天我们看ChatGPT如何生成Midjourney提示词,让AI教AI做事. 本文字数:900,阅读时长大约:3分钟 正如 Midjourney 的官方网站报道的那样 ...
- aspnetcore最最简单的接口权限认证
五月一眨眼就过去,就当凑个数吧. 场景: 一个小小的项目,需要一个后台,就展示几个列表,连用户表.角色表等都不需要设计. 之前有写过identityserver4和jwt4的demo (exercis ...
- Java 网络编程 —— 客户端协议处理框架
概述 Java 对客户程序的通信过程进行了抽象,提供了通用的协议处理框架,该框架封装了 Socket,主要包括以下类: URL 类:统一资源定位符,表示客户程序要访问的远程资源 URLConnecti ...
- Galaxy Project 是一个开源的生物医学分析平台项目。在 Github 的 #8475 上有个讨论,可以动态开启 message_box_content, admin_users, w......
本文分享自微信公众号 - 生信科技爱好者(bioitee).如有侵权,请联系 support@oschina.cn 删除.本文参与"OSC源创计划",欢迎正在阅读的你也加入,一起分 ...
- 创建springboot工程失败解决 spring initializr Error:cannot download
创建springboot工程失败解决 问题描述 原因分析: 网络不好,因为springBooT项目的创建时必须联网的 解决方案: 方案一: 将创建 springBoot 工程的地址更换为如下的地址 阿 ...
- Mysql数据库体系化详细笔记(b站韩顺平)
Mysql数据库 一.数据库 使用命令行窗口连接MYSQL数据库 mysql服务启动,在cmd输入net start mysql 1.mysql -h主机名-Р端口-u用户名-p密码 2.登录前,保证 ...