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

这篇具有很好参考价值的文章主要介绍了【echarts】如何修改折线图X轴每个刻度的间隔宽度,让拥挤的空间变大,所有坐标点的文案可以显示得下,Echarts x轴文本内容太长的几种解决方案。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

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

【echarts】如何修改折线图X轴每个刻度的间隔宽度,让拥挤的空间变大,所有坐标点的文案可以显示得下,Echarts x轴文本内容太长的几种解决方案,echarts,前端,javascript
通过调整dataZoom的startValue + endValue来控制在容器宽度下,展示多少个点的数据,其他点会以横向滚动的形式展现

interface OptsProps {
  endValue?: number;
}
export const getZoomConfig = (opts: OptsProps = {}) => {
  return [
    {
      // zoomOnMouse
      bottom: 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, // 是否显示数据阴影 默认auto
      backgroundColor: '#fff',
      showDetail: false, // 即拖拽时候是否显示详细数值信息 默认true
      realtime: 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>1
                            if (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;
            }
     }
}

【echarts】如何修改折线图X轴每个刻度的间隔宽度,让拥挤的空间变大,所有坐标点的文案可以显示得下,Echarts x轴文本内容太长的几种解决方案,echarts,前端,javascript文章来源地址https://www.toymoban.com/news/detail-701773.html

到了这里,关于【echarts】如何修改折线图X轴每个刻度的间隔宽度,让拥挤的空间变大,所有坐标点的文案可以显示得下,Echarts x轴文本内容太长的几种解决方案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【echarts】如何将iconfont转换成echart所需的path路径 echarts折线图、柱状图如何设置自定义svg图标

    步骤 下载iconfont图标到本地,用浏览器打开,右键查看源代码,或者用开发IDE软件打开,找到 path d=... ,这个就是我们要传递给echart的icon的值。 代码示例:

    2024年02月09日
    浏览(32)
  • Android LinearLayout快速设置每个item间隔

    原文地址: Android LinearLayout快速设置每个item间隔 平常使用LinearLayout的时候,有时候会需要对每个item设置间距,但是每个item都加上margin的方法实在有些繁琐 因为之前是在写JavaFx程序,里面的Vbox或Hbox都会提供一个Space的参数,可以用来快速设置每个item之间的间距 而Android这边,是没看

    2024年02月17日
    浏览(31)
  • echarts 刻度线

    解决: 注意: 1、boundaryGap 默认值:true。 参数类型:boolean,Array。 可选值: (1)true,x坐标轴两边留白。 (2)false,x坐标轴两边不留白。 (3)[‘30%’, ‘20%’]。 2、axisTick 刻度线样式 3、滚动图例

    2023年04月10日
    浏览(19)
  • Echarts仪表盘刻度线和标签配置

     该案例只做参考 步骤: 1.首先设置好盒子的宽高 demo页面  css页面  2. 该方法在进入页面时加载  3. methods方法:

    2024年02月02日
    浏览(23)
  • Echarts多曲线数值与Y周刻度不符合

    发现问题:         在展示多曲线图表的时候,发现图表曲线数值相差不大,但是图表展示的曲线相差很大,仔细观察之后发现是展示有问题(其实这并不能算是错误,只是由于忽略,导致的配置与预期不符合)。 问题复现: 演示代码:(官方堆叠样例) 问题解决方式:      

    2024年02月08日
    浏览(24)
  • G2 图表 问题集合(自定义tooltip标题,折线图上增加标注点,x轴刻度自定义...)

    最近一直在处理G2 图表问题,发现这个图表除了官方文档,百度上很少能百度到具体的用法及案例,因此总结了此篇文章记录一下踩坑集合,记录问题同时也希望能帮助到广大网友 1.自定义tooltip title样式: 官方给出的案例是这样说的: 我想实现的效果: 很明显,我希望在标

    2024年02月09日
    浏览(29)
  • echarts环形图设置间隔

    方法一:给每个data加边框,边框颜色和echarts所在的背景一样 方法二(推荐):给每个数据中插入颜色为透明的假数据,注意:假数据要根据真实数据调整

    2024年02月11日
    浏览(33)
  • 小程序中Echarts实现隐藏x轴,y轴,刻度线,网格

    参考了大佬的链接 首次在小程序中使用echarts踩了一些小坑做个记录,希望可以帮到同样踩坑的同学 这里以柱状图作为例子,扁扁的柱状图什么线都没有了

    2024年01月16日
    浏览(19)
  • 如何修改JSON数组中的每个对象的userType属性值

    要修改JSON数组中的每个对象的`userType`属性值,您可以使用JavaScript的`map`函数或`forEach`循环。 以下是使用`map`函数的示例: ```javascript ``` 在上述示例中,我们使用`map`函数遍历原始数据数组,对于每个对象,我们检查是否存在`userType`属性,然后将其值修改为新值(在这里将其

    2024年02月10日
    浏览(32)
  • echarts实现x轴不等间距,间隔大小不一致

    在echarts官网贴入以下代码即可实现如下效果,有需要的可自行修改,思路:利用markLine画间隔线

    2024年02月14日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包