解决echarts中横坐标值显示不全(自动隐藏)问题


Posted in Javascript onJuly 20, 2020

echarts中,横轴数据如果非常多,会自动隐藏一部分数据,我们可以通过属性interval来进行调整。

如下图,当横轴时间为13天时,echarts会自动隔天显示

解决echarts中横坐标值显示不全(自动隐藏)问题

如果我们想显示全,则需要在xAxis 属性加上axisLabel:{interval: 0}

"xAxis":[{"data":["2015-5-13","2015-5-14","2015-5-15","2015-5-16","2015-5-17","2015-5-18","2015-5-19","2015-5-20","2015-5-21","2015-5-22","2015-5-23","2015-5-24","2015-5-25"],
 "type":"category",
 "axisLabel":{
 interval: 0
 }
}],

效果如下:

解决echarts中横坐标值显示不全(自动隐藏)问题

查看echarts官网的文档,可以得知:

解决echarts中横坐标值显示不全(自动隐藏)问题

补充知识:Echarts X轴内容过长自动隐藏,鼠标移动上去显示全部

使用echarts图表做页面展示的时候,当X轴内容过长时,之前一直用的 '\n' 换行(将字符串根据需要分成两行来展示),这样有很大的局限性(如内容过长的话 分成两行也放不下,而且也会影响美观),后来发现可以通过设置自动隐藏,鼠标移动上去显示全部名称的方法 来做,效果会更好。

1. 首先在 x轴上添加 triggerEvent: true。如下红色部分:

xAxis: {
data: result.nameList,
silent: false,
triggerEvent: true,
axisLine: {
onZero: true,
show: true,
lineStyle: {
color: '#90979c' // x 轴线最下面的横坐标线的颜色
}
},
splitLine: {show: false},
splitArea: {show: false},
axisLabel: {
interval: 0,//设置横坐标为斜
rotate: 30,//文字倾斜角度
formatter: function (value) {
if (value.length > 10) {
value = value.substring(0, 9) + "..";
}
return value;
},
textStyle: {
color: '#666',
fontSize: '12'
}
},
},

2. 自定义x轴上显示的内容长度。如上面代码段中的蓝色部分。

3. 自定义一个 鼠标悬浮事件方法,并调用。

function extensionOne(myChart) {
 var id = document.getElementById("extensionOne");
 //判断是否创建过div框,如果没有创建过,则创建。(创建时,默认隐藏)
 if (!id) {
  var div = "<div id = 'extensionOne' sytle=\"display:none\"></div>";
  $('html').append(div);
 }

 var arrow_left = '20px';
 //鼠标悬浮事件
 myChart.on('mouseover', function (params) {
  if (params.componentType != "xAxis") {
   return;
  }

  //设置div框样式,并为其填充值。
  $('#extensionOne').css({
   "position": "absolute",
   "color": "#90979c",
   // "border": "solid 0px white",
   "font-family": "Arial",
   "font-size": "14px",
   "padding": "5px",
   "display": "inline"
  }).text(params.value);
  var xx_text = params.event.offsetX - 35;
  arrow_left = xx_text;

  $("#talentDemandDistribution").mousemove(function (event) {
   // console.log("X轴坐标:" + event.pageX + " Y轴坐标:" + event.pageY);
   var xx = event.pageX - 30;
   var yy = event.pageY + 10;
   $('#extensionOne').css('top', yy).css('left', xx);
  });
 });

 myChart.on('mouseout', function (params) {
  $('#extensionOne').css('display', 'none');
 });
}
{
 ...
 ...
 var chart = echarts.init(document.getElementById('talentDemandDistribution'));
 chart.setOption(option);

 //在echarts 初始化完成后,调用自定义的鼠标悬浮事件方法
 extensionOne(chart);
}

到此结束!

以上这篇解决echarts中横坐标值显示不全(自动隐藏)问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JQuery1.4+ Ajax IE8 内存泄漏问题
Oct 15 Javascript
PHP abstract与interface之间的区别
Nov 11 Javascript
一段非常简单的js判断浏览器的内核
Aug 17 Javascript
window.setInterval()方法的定义和用法及offsetLeft与style.left的区别
Nov 11 Javascript
使用Fullpage插件快速开发整屏翻页的页面
Sep 13 Javascript
微信小程序实现tab和swiper切换结合效果
Jul 17 Javascript
Vue中使用 setTimeout() setInterval()函数的问题
Sep 13 Javascript
vue-cli3 项目优化之通过 node 自动生成组件模板 generate View、Component
Apr 30 Javascript
微信小程序云开发修改云数据库中的数据方法
May 18 Javascript
微信小程序 image组件遇到的问题
May 28 Javascript
深入理解 JS 垃圾回收
Jun 03 Javascript
jQuery 隐藏/显示效果函数用法实例分析
May 20 jQuery
解决Echarts2竖直datazoom滑动后显示数据不全的问题
Jul 20 #Javascript
echarts实现获取datazoom的起始值(包括x轴和y轴)
Jul 20 #Javascript
使用 Github Actions 自动部署 Angular 应用到 Github Pages的方法
Jul 20 #Javascript
如何实现echarts markline标签名显示自己想要的
Jul 20 #Javascript
在Echarts图中给坐标轴加一个标识线markLine
Jul 20 #Javascript
jquery实现简单拖拽效果
Jul 20 #jQuery
在vue中使用echarts(折线图的demo,markline用法)
Jul 20 #Javascript
You might like
2020年4月放送决定!第2期TV动画《邪神酱飞踢》视觉图&主题曲情报公开!
2020/03/06 日漫
php+js实现图片的上传、裁剪、预览、提交示例
2013/08/27 PHP
php使用curl打开https网站的方法
2015/06/17 PHP
PHP简单计算两个时间差的方法示例
2017/06/20 PHP
基于Jquery的温度计动画效果
2010/06/18 Javascript
页面只有一个text的时候,回车自动submit的解决方法
2010/08/12 Javascript
javascript学习笔记(九)javascript中的原型(prototype)及原型链的继承方式
2011/04/12 Javascript
js控制页面控件隐藏显示的两种方法介绍
2013/10/09 Javascript
js中关于一个分号的崩溃示例
2013/11/11 Javascript
javascript字符串循环匹配实例分析
2015/07/17 Javascript
JS实现的自定义网页拖动类
2015/11/06 Javascript
AngularJS的ng-repeat指令与scope继承关系实例详解
2017/01/21 Javascript
nodejs socket实现的服务端和客户端功能示例
2017/06/02 NodeJs
解决vue select当前value没有更新到vue对象属性的问题
2018/08/30 Javascript
jquery拖拽自动排序插件使用方法详解
2020/07/20 jQuery
layui点击按钮页面会自动刷新的解决方案
2019/10/25 Javascript
js将日期格式转换为YYYY-MM-DD HH:MM:SS
2020/09/18 Javascript
JS canvas实现画板和签字板功能
2021/02/23 Javascript
python获取图片颜色信息的方法
2015/03/18 Python
python删除列表中重复记录的方法
2015/04/28 Python
Python实现基于二叉树存储结构的堆排序算法示例
2017/12/08 Python
详解python中的json和字典dict
2018/06/22 Python
python使用__slots__让你的代码更加节省内存
2018/09/05 Python
浅谈python中拼接路径os.path.join斜杠的问题
2018/10/23 Python
Python异步操作MySQL示例【使用aiomysql】
2019/05/16 Python
django的ORM操作 增加和查询
2019/07/26 Python
详解Python Matplotlib解决绘图X轴值不按数组排序问题
2019/08/05 Python
Python3进制之间的转换代码实例
2019/08/24 Python
Pytorch释放显存占用方式
2020/01/13 Python
美国智能家居专家:tink
2019/06/04 全球购物
高二历史教学反思
2014/01/25 职场文书
自我鉴定标准格式
2014/03/19 职场文书
仓库规划计划书
2014/04/28 职场文书
2015年班长个人工作总结
2015/04/03 职场文书
CSS实现两列布局的N种方法
2021/08/02 HTML / CSS
Mysql忘记密码解决方法
2022/02/12 MySQL