解决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 相关文章推荐
Javascript delete 引用类型对象
Nov 01 Javascript
基于js与flash实现的网站flv视频播放插件代码
Oct 14 Javascript
JS实现动态增加和删除li标签行的实例代码
Oct 16 Javascript
微信小程序 连续旋转动画(this.animation.rotate)详解
Apr 07 Javascript
微信小程序中form 表单提交和取值实例详解
Apr 20 Javascript
JavaScript转换数据库DateTime字段类型方法
Jun 27 Javascript
Javasript设计模式之链式调用详解
Apr 26 Javascript
原生JS实现简单的倒计时功能示例
Aug 30 Javascript
bootstrap table表格插件之服务器端分页实例代码
Sep 12 Javascript
vue draggable resizable 实现可拖拽缩放的组件功能
Jul 15 Javascript
Layui实现主窗口和Iframe层参数传递
Nov 14 Javascript
如何解决vue在ios微信&quot;复制链接&quot;功能问题
Mar 26 Javascript
解决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
php 判断数组是几维数组
2013/03/20 PHP
PHP中mysql_field_type()函数用法
2014/11/24 PHP
分享十款最出色的PHP安全开发库中文详细介绍
2015/03/22 PHP
php微信高级接口调用方法(自定义菜单接口、客服接口、二维码)
2016/11/28 PHP
php二维数组按某个键值排序的实例讲解
2019/02/15 PHP
PHP容器类的两种实现方式示例
2019/07/24 PHP
一个封装js代码-----展开收起效果示例
2013/07/03 Javascript
利用js(jquery)操作Cookie的方法说明
2013/12/19 Javascript
JS获取节点的兄弟,父级,子级元素的方法
2014/01/09 Javascript
JQuery下拉框应用示例介绍
2014/04/23 Javascript
JsRender for index循环索引用法详解
2014/10/31 Javascript
分享一个常用的javascript静态类
2014/12/31 Javascript
JavaScript实现显示函数调用堆栈的方法
2016/04/21 Javascript
浅谈jquery中的each方法$.each、this.each、$.fn.each
2016/06/23 Javascript
jQuery实现可以编辑的表格实例详解【附demo源码下载】
2016/07/09 Javascript
详细谈谈javascript的对象
2016/07/31 Javascript
web前端开发upload上传头像js示例代码
2016/10/22 Javascript
JavaScript ES6中CLASS的使用详解
2016/11/22 Javascript
详解Node.js串行化流程控制
2017/05/04 Javascript
AngularJs 禁止模板缓存的方法
2017/11/28 Javascript
全面介绍vue 全家桶和项目实例
2017/12/27 Javascript
Angular2整合其他插件的方法
2018/01/20 Javascript
jQuery pagination分页示例详解
2018/10/23 jQuery
Angular ui-roter 和AngularJS 通过 ocLazyLoad 实现动态(懒)加载模块和依赖
2018/11/25 Javascript
微信小程序MUI导航栏透明渐变功能示例(通过改变opacity实现)
2019/01/24 Javascript
如何在JavaScript中谨慎使用代码注释
2019/06/21 Javascript
详解Vue中的基本语法和常用指令
2019/07/23 Javascript
python中list列表的高级函数
2016/05/17 Python
Python中的二维数组实例(list与numpy.array)
2018/04/13 Python
详解python--模拟轮盘抽奖游戏
2019/04/12 Python
使用Python三角函数公式计算三角形的夹角案例
2020/04/15 Python
理肤泉英国官网:La Roche-Posay英国
2019/01/14 全球购物
高中生家长会演讲稿
2014/01/14 职场文书
护理工作心得体会
2016/01/22 职场文书
python面向对象版学生信息管理系统
2021/06/24 Python
Linux中一对多配置日志服务器的详细步骤
2022/07/23 Servers