echarts X轴内容可滑动Y轴固定的常用配置项(解决echarts数据量太多的显示问题)

在使用echarts插件时,经常遇到X轴数据量过大的问题,这个时候X轴的数据就会层叠到一起.致使页面效果非常难看!之前用来开发的配项目就是如此;所以就将一些常用的配置项放在这里,希望对你们有用!

注:该配置只是折线图的配置,如果是柱状图的配置大同小异,配置项的作用不会又多大变动.我是把这个配置项option做了一个函数的封装

let  myChart = echarts.init(document.getElementById('oneDay'));
let allXdata =['',1,2,3,4,5,6];
let lineRes = ['',2,2,3,4,3,3];
let dayOption= getOption(allXdata,lineRes);
myChart.setOption(dayOption);

function getOption(allXdata,lineRes){
            return{
                animation: false, //控制当前的点击滑动时节点是否放大
                title: {
                    text: '2018-10-16',
                    padding:20,
                    textStyle:{
                        fontSize:14,
                        fontWeight:500
                    }
                },
                tooltip: { // 可以自定义点击时出现的提示框,你可以尝试打印params
                    show:true,
                    // formatter: function (params) {
                    //     console.log(params);
                    // }
                },
                legend: {

                },
                grid: {
                    left: '4%', //设置Y轴name距离左边容器的位置,类似于margin-left
                    right: '4%',
                    bottom: '2%',
                    containLabel: true
                },
                dataZoom: [
                    { //Y轴固定,让内容滚动
                        type: 'slider',
                        show: false,
                        xAxisIndex: [0],
                        start: 1,
                        end: 80,//设置X轴刻度之间的间隔(根据数据量来调整)
                        zoomLock: true, //锁定区域禁止缩放(鼠标滚动会缩放,所以禁止)
                    },
                    {
                        type: 'inside',
                        xAxisIndex: [0],
                        start: 1,
                        end: 80,
                        zoomLock: true, //锁定区域禁止缩放
                    },

                ],
                xAxis: [{
                    data: allXdata, //X轴数据(该数组的第一个数据为'' 可以让原点数据为0)
                    boundaryGap: false, //两边是否留白
                    axisLabel: {
                        interval: 0, //隔多少点显示一个X轴刻度,0就是全部显示
                        formatter: function (value, index) {//自定义X轴的显示
                            var date = new Date(value);
                            var texts = date.getMonth()+1+"月";
                            if (index === 0) {
                                texts=0;
                            }
                            return texts;
                        }
                    },
                    axisTick: {
                        inside: true,
                        lignWithLabel: true //这两行代码可以让刻度正对刻度名
                    },
                    // axisLine: {
                    //     symbol: ['none', 'arrow'], //显示坐标轴上的箭头
                    //     symbolSize: [8, 10], //调整坐标箭头的大小
                    //     symbolOffset: [5, 8], //箭头的偏移位置
                    //     onZero: false
                    // },
                    axisPointer: {
                        lineStyle: {
                            width: 0 //隐藏指示线的线条
                        },
                        show: true,
                        snap: true,
                        status: 'show'
                    }
                }],
                yAxis: {
                    name: '', //Y轴名字
                    nameGap: 20, //刻度与Y轴线名字之间的距离
                    nameTextStyle: { //Y轴名字的样式
                        color: '#000',
                        fontSize: 14
                    },
                    // min: minax2.min, //设置Y轴的最大最小值
                    // max: minax2.max,
                    splitLine: {
                        show: false
                    }, //去掉网格线
                    // axisLine: {
                    //     symbol: ['none', 'arrow'], //是否显示箭头
                    //     symbolSize: [8, 10], //调整坐标箭头的大小
                    //     symbolOffset: [5, 7] //调整箭头的偏移位置
                    // },
                    axisTick: {
                        // show:true,//是否显示Y轴的刻度
                        inside: false //改变刻度的朝向
                    }
                },
                series: [{
                    data: lineRes,
                    type: 'line',
                    symbol: 'circle', //折线拐点去掉圆点
                    symbolSize: 1,
                    itemStyle: {
                        normal: {
                            color: '#000', //自定义折线点颜色
                            lineStyle: {
                                color: '#000'//自定义折线的颜色
                            }
                        }
                    },
                    smooth: true //折线变曲线
                },

                ]
            }
        }

 

  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值