【echarts】如何修改折线图X轴每个刻度的间隔宽度,让拥挤的空间变大,所有坐标点的文案可以显示得下,Echarts x轴文本内容太长的几种解决方案

Echarts 如何修改折线图X轴每个刻度的间隔宽度,让拥挤的空间变大,所有坐标点的文案可以显示得下,Echarts x轴文本内容太长的几种解决方案
有以下几种方案,堪称最全方案:

1、dataZoom进行坐标的比例缩放

在这里插入图片描述
通过调整dataZoom的startValue + endValue来控制在容器宽度下,展示多少个点的数据,其他点会以横向滚动的形式展现

interface OptsProps {endValue?: number;
}
export const getZoomConfig = (opts: OptsProps = {}) => {return [{// zoomOnMousebottom: 3,id: 'dataZoomY',// yAxisIndex: [0],show: true, // 是否显示滑动条,不影响使用type: 'slider', // 这个 dataZoom 组件是 slider 型 dataZoom 组件startValue: 0, // 从头开始。endValue: opts.endValue || 7, // 默认展示7个// start: 0,// end: 10,// width: 6,height: 4,borderColor: 'transparent',fillerColor: '#E8EAEF',zoomLock: true,showDataShadow: false, // 是否显示数据阴影 默认autobackgroundColor: '#fff',showDetail: false, // 即拖拽时候是否显示详细数值信息 默认truerealtime: true, // 是否实时更新filterMode: 'filter',handleIcon: 'circle',handleStyle: {color: '#E8EAEF',borderColor: '#E8EAEF',},// handleSize: '80%',moveHandleSize: 0,// maxValueSpan: 2,// minValueSpan: 2,brushSelect: false, // 刷选功能,设为false可以防止拖动条长度改变 ************(这是一个坑)},// {//   type: 'inside',//   // yAxisIndex: 0,//   zoomOnMouseWheel: false, // 滚轮是否触发缩放//   moveOnMouseMove: false, // 鼠标滚轮触发滚动//   moveOnMouseWheel: false,// },];
};

2、对文本进行倾斜

xAxis.axisLabe中修改rotate的值

xAxis: {data: [...], // x轴中的数据name: '销售额', // 坐标轴名称。nameLocation: 'end', // 坐标轴名称显示位置。axisLabel : { // 坐标轴刻度标签的相关设置。interval: 0,rotate: '45'}
},

interval步长解释:

不设置默认自动根据显示效果动态赋予默认值,会出现当X轴坐标点过多时,间隔1-n个点显示下一个坐标点的文案。设置为0则默认每个坐标点都要显示文案。

被遮挡住就让grid组件离容器向上移动,把grid中的bottom的值调大一些。注意,无法通过调整网格width来增加坐标点之间的间距,这是因为会导致X轴的滚动条长度计算异常,导致后续的坐标点没有办法滚动预览到!

grid:{ // 直角坐标系内绘图网格show: true, // 是否显示直角坐标系网格。[ default: false ]left: "15%", // grid 组件离容器左侧的距离。right: "20px",borderColor: "#333", //网格的边框颜色bottom: "20%" // 距离容器底部的间距
},

3、换行显示

xAxis.axisLabel中 使用formatter回调函数实现换行

    axisLabel : { //坐标轴刻度标签的相关设置。formatter : function(params){var newParamsName = ""; // 最终拼接成的字符串var paramsNameNumber = params.length;// 实际标签的个数var provideNumber = 4; // 每行能显示的字的个数var rowNumber = Math.ceil(paramsNameNumber / provideNumber); // 换行的话,需要显示几行,向上取整/*** 判断标签的个数是否大于规定的个数, 如果大于,则进行换行处理 如果不大于,即等于或小于,就返回原标签*/// 条件等同于rowNumber>1if (paramsNameNumber > provideNumber) {/** 循环每一行,p表示行 */for (var p = 0; p < rowNumber; p++) {var tempStr = "";// 表示每一次截取的字符串var start = p * provideNumber;// 开始截取的位置var end = start + provideNumber;// 结束截取的位置// 此处特殊处理最后一行的索引值if (p == rowNumber - 1) {// 最后一次不换行tempStr = params.substring(start, paramsNameNumber);} else {// 每一次拼接字符串并换行tempStr = params.substring(start, end) + "\n";}newParamsName += tempStr;// 最终拼成的字符串}} else {// 将旧标签的值赋给新标签newParamsName = params;}//将最终的字符串返回return newParamsName}}

4、文字竖直显示

同样和换行一个道理,只是这个是单个文字换行
xAxis.axisLabel中 使用formatter回调函数实现换行

axisLabel: {  interval: 0,  formatter:function(value) {  return value.split("").join("\n");  }  
}  

5、隔一个换行

xAxis.axisLabel中,使用formatter回调函数实现换行

axisLabel : { // 坐标轴刻度标签的相关设置。clickable:true, // 并给图表添加单击事件  根据返回值判断点击的是哪里interval : 0,formatter : function(params,index){if (index % 2 != 0) {return '\n\n' + params;}else {return params;}}
}

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python字符串详解(包含长字符串和原始字符串)

若干个字符的集合就是一个字符串&#xff08;String&#xff09;。Python 中的字符串必须由双引号" "或者单引号 包围&#xff0c;具体格式为&#xff1a; "字符串内容" 字符串内容 字符串的内容可以包含字母、标点、特殊符号、中文、日文等全世界的所有…

centos7上hive3.1.3安装及配置

1、安装背景&#xff1b; hive是基于hadoop的数据仓库软件&#xff0c;部署运行在linux系统之上&#xff0c;安装之前必须保证hadoop环境运行正常&#xff0c;hive本身不是分布式软件&#xff0c;它的分布式主要是借助hadoop实现&#xff0c;存储是hdfs&#xff0c;计算是mapr…

ICIF2023化工展首亮相,宏工科技解决方案助力制造升级

ICIF China 2023中国国际化工展览会于9月4日-6日在上海新国际博览中心举办。宏工科技携化工物料处理一站式解决方案首次亮相&#xff0c;同化工行业全产业链共叙物料处理自动化未来。 宏工科技是一家提供物料处理自动化设备、系统与服务的国家级高新技术企业&#xff0c;业务覆…

PHP自己的框架2.0版本目录结构和命名空间自动加载类(重构篇一)

目录 1、目录结构演示效果 2、搭建目录结构&#xff0c;以及入口public->index.php 3、引入core下面core->base.php 4、自动加载实现core->fm->autoload.php 5、框架运行文件core->fm->core.php 6、最终运行index.php结果 1、目录结构演示效果 2、搭…

Ei、Scopus双检索 | 2024年第三届人工智能与机器学习前沿国际会议(FAIML 2024)

会议简介 Brief Introduction 2024年第三届人工智能与机器学习前沿国际会议(FAIML 2024) 会议时间&#xff1a;2024年4月26日-28日 召开地点&#xff1a;中国宜昌 大会官网&#xff1a;www.faiml.org FAIML 2024将围绕“人工智能与机器学习”的最新研究领域而展开&#xff0c;为…

【笔试强训选择题】Day41.习题(错题)解析

作者简介&#xff1a;大家好&#xff0c;我是未央&#xff1b; 博客首页&#xff1a;未央.303 系列专栏&#xff1a;笔试强训选择题 每日一句&#xff1a;人的一生&#xff0c;可以有所作为的时机只有一次&#xff0c;那就是现在&#xff01;&#xff01;&#xff01;&#xff…

网络传输方式

1. 单播 1.1. 定义 单播是指一种向单个目标地址传送数据的方式&#xff0c;即单独的一对一通讯方式。 1.2. 可使用协议 UDP、TCP等协议 1.3. 常见的场景 发送电子邮件传输文件 2. 广播 2.1. 定义 一种向本地网络中所有设备发送数据的方式。 2.2. 常见的场景 电视和电…

c++笔记

STL 排序容器multimap和map用法详解 可用于a*算法优先队列当中

yolov8 模型部署--TensorRT部署-c++服务化部署

写目录 yolov8 模型部署--TensorRT部署1、模型导出为onnx格式2、模型onnx格式转engine 部署 yolov8 模型部署–TensorRT部署 1、模型导出为onnx格式 如果要用TensorRT部署YOLOv8&#xff0c;需要先使用下面的命令将模型导出为onnx格式&#xff1a; yolo export modelyolov8n.p…

品牌价格调查的方法

品牌做价格调查的目的&#xff0c;不是简单的对页面价或者挂牌售价进行调查&#xff0c;基本是需要对商品的到手价进行调查的&#xff0c;调查渠道中的实际成交价对品牌来说意义重大&#xff0c;因为知道到手价就可以了解产品是否存在低价&#xff0c;进而可以做针对性的低价打…

Android逆向——脱壳解析

“壳”是一种对程序进行加密的程序&#xff0c;“壳”形象地表现了这个功能。我们可以把被加壳的程序当成食物&#xff0c;而加壳程序就是在外面加上一层坚硬的外壳&#xff0c;防止别人去窃取其中的程序。加壳后的程序依然可以被直接运行。在程序运行时壳的代码先运行&#xf…