echarts数值过多时X轴滚动显示,拖动一个表控制两个表同时滚动

84 篇文章 1 订阅
43 篇文章 2 订阅

echarts数值过多时X轴滚动显示,拖动一个表控制两个表同时滚动

// 两个图表都添加下面这个代码
axisPointer: {
            // 设置为 dataZoom,并指定 dataZoom 的 id
            type: 'dataZoom',
            dataZoomId: this.chartId
          },

完整代码

    // 初始化生物多样性
    initBiologyChart() {
      this.biologyChart = this.$echarts.init(document.getElementById(this.chartId))
      var option = {
        xAxis: {
          type: 'category',
          data: this.option.xAxis.data,
          axisPointer: {
            // 设置为 dataZoom,并指定 dataZoom 的 id
            type: 'dataZoom',
            dataZoomId: this.chartId
          },
          axisLine: {       //x轴显示
            "show": true,
          },
          axisTick: {
            "show": false   //去掉x轴刻度线
          },
          //坐标轴颜色
          axisLine: {
            lineStyle: {
              // background: rgba(186,231,255,0.4);
              color: 'rgba(186,231,255,0.4)',
              width: 2
            }
          },
          // x轴文字旋转
          axisLabel: {
            rotate: 0,
            interval: 0,
            interval: 0,  //设置 X 轴数据间隔几个显示一个,为0表示都显示 
            color: "rgba(230,247,255,0.5)"  //坐标轴的文本颜色
          },
        },
        yAxis: {
          name: this.option.yAxis.name,
          type: 'value',
          minInterval: 1,
          min: 0, // 配置 Y 轴刻度最小值
          // max: 40,  // 配置 Y 轴刻度最大值
          // splitNumber:10,  // 配置 Y 轴数值间隔
          nameTextStyle: {
            color: 'rgba(230,247,255,0.5)', //  字体颜色
            fontSize: 12, //  字体大小
            fontWeight: '400',
            //关键代码
            padding: [0, 0, -20, -30] //标题位置调整 上 右 下 左
          },
          splitLine: {           //分割线
            show: true,     //控制分割线是否显示
            lineStyle: {       //分割线的样式
              color: ['rgba(230,247,255,0.2)'],
              width: 1,
              type: 'dashed'
            }
          },
          axisLine: {       //y轴不显示
            "show": false
          },
          axisTick: {       //y轴刻度线不显示
            "show": false
          },
          axisLabel: {
            showMaxLabel: false, // 坐标轴不显示最大值
            color: "rgba(230,247,255,0.5)", //刻度线标签颜色
            fontSize: 12,
            // formatter: function (value) {
            //   if (value / 10 % 2 === 1) {
            //     return value;
            //   } else {
            //     return ''
            //   }
            // }
          },

        },
        grid: {          //设置图表显示在区域的哪个位置,控制图表的位置,可以是具体数值或者百分比
          left: '20px',
          right: '20px',
          bottom: '10px',
          top: '25px',
          containLabel: true,   //containLabel(grid 区域是否包含坐标轴的刻度标签,默认不包含)为true的情况下,无法使图表紧贴着画布显示,但可以防止标签标签长度动态变化时溢出容器或者覆盖其他组件,将containLabel设置为false即可解决
        },
        //滚动条样式
        dataZoom: [

          {

            id: this.chartId,

            type: 'slider',

            show: this.isShowScroll,

            // start: 0,//默认为0

            // end: 50,//默认为100

            startValue: 0, // 从头开始。

            endValue: 4, // 一次性展示6个。

            xAxisIndex: [0],

            handleSize: 0,//滑动条的 左右2个滑动条的大小

            height: 4,//组件高度

            bottom: 0,//右边的距离

            borderColor: "#e3e3e3",

            fillerColor: '#51B7F9',

            borderRadius: 10,

            backgroundColor: '#e3e3e3',//两边未选中的滑动条区域的颜色

            showDataShadow: false,//是否显示数据阴影 默认auto

            showDetail: false,//即拖拽时候是否显示详细数值信息 默认true

            realtime: true, //是否实时更新

            filterMode: 'filter',

            // zlevel: 10,

          },
          //以下重点: 让鼠标滚动从缩放变成移动
          // {

          //   type: 'inside',

          //   xAxisIndex: [0],

          //   zoomOnMouseWheel: false, //滚轮不触发缩放

          //   moveOnMouseMove: true,   //鼠标移动触发平移

          //   moveOnMouseWheel: true,  //鼠标滚轮触发平移

          // },

        ],
        series: [
          {
            data: this.option.series[0].data,
            type: 'bar',
            barWidth: 12, //设置柱子宽度
            color: 'blue',
            showBackground: false,
            backgroundStyle: {
              color: 'rgba(190,216,240,0.06)'
            },
            label: {  //在柱状图上显示数据
              show: true,
              position: 'top',
              color: '#fff',
              fontWeight: 500,
              fontSize: 14,
            },
            markPoint: {
              symbol: 'rect',
              symbolSize: '15',
            },
            itemStyle: {  // 柱状图渐变
              color: {
                type: 'linear',
                x: 0,  //右
                y: 0,  //下
                x2: 0,  //左
                y2: 1,  //上
                colorStops: [
                  {
                    offset: 0,
                    color: '#1A96F9' // 0% 处的颜色
                  },
                  {
                    offset: 1,
                    color: '#4CECFF' // 100% 处的颜色
                  }
                ]
              },

            },
          },
        ]
      };
      this.biologyChart.setOption(option);
    },
    // 初始化生物多样性背景图
    initBiologyBck() {
      this.bckchart = this.$echarts.init(document.getElementById(this.chartBgId))
      var option = {
        xAxis: {
          type: 'category',
          data: this.option.xAxis.data,
          axisPointer: {
            // 设置为 dataZoom,并指定 dataZoom 的 id
            type: 'dataZoom',
            dataZoomId: this.chartId
          },
          axisLine: {       //x轴显示
            "show": false,
          },
          axisTick: {
            "show": false   //去掉x轴刻度线
          },
          // x轴文字旋转
          axisLabel: {
            rotate: 0,
            interval: 0,
            interval: 0,  //设置 X 轴数据间隔几个显示一个,为0表示都显示 
            color: "rgba(0,0,0,0)"  //坐标轴的文本颜色
          },
          //坐标轴颜色
          axisLine: {
            show: false,
            lineStyle: {
              color: '#00bbff',
              width: 2
            }
          },
        },
        yAxis: {
          name: '',
          type: 'value',
          minInterval: 1,
          min: 0, // 配置 Y 轴刻度最小值
          max: Math.ceil(Math.max(...this.option.series[0].data)),  // 配置 Y 轴刻度最大值
          // splitNumber:10,  // 配置 Y 轴数值间隔
          nameTextStyle: {
            color: 'rgba(230,247,255,0.5)',
            fontSize: 16, //  字体大小
            fontWeight: 'bolder',
            //关键代码
            padding: [0, 0, 0, -30] //标题位置调整 上 右 下 左
          },
          splitLine: {           //分割线
            show: false,     //控制分割线是否显示
            lineStyle: {       //分割线的样式
              color: ['rgba(255,255,255,0.3)'],
              width: 2,
              type: 'dashed'
            }
          },
          axisLine: {       //y轴不显示
            "show": false
          },
          axisTick: {       //y轴刻度线不显示
            "show": false
          },
          axisLabel: {
            color: "rgba(255,0,0,0)", //刻度线标签颜色
            fontSize: 12,
          },
        },
        grid: {          //设置图表显示在区域的哪个位置,控制图表的位置,可以是具体数值或者百分比
          left: '20px',
          right: '20px',
          bottom: '10px',
          top: '25px',
          containLabel: true,   //containLabel(grid 区域是否包含坐标轴的刻度标签,默认不包含)为true的情况下,无法使图表紧贴着画布显示,但可以防止标签标签长度动态变化时溢出容器或者覆盖其他组件,将containLabel设置为false即可解决
        },
        //滚动条样式
        dataZoom: [

          {

            id: this.chartId,

            type: 'slider',

            show: this.isShowScroll,

            // start: 0,//默认为0

            // end: 50,//默认为100

            startValue: 0, // 从头开始。

            endValue: 4, // 一次性展示6个。

            xAxisIndex: [0],

            handleSize: 0,//滑动条的 左右2个滑动条的大小

            height: 4,//组件高度

            bottom: 0,//右边的距离

            borderColor: "#e3e3e3",

            fillerColor: '#51B7F9',

            borderRadius: 10,

            backgroundColor: '#e3e3e3',//两边未选中的滑动条区域的颜色

            showDataShadow: false,//是否显示数据阴影 默认auto

            showDetail: false,//即拖拽时候是否显示详细数值信息 默认true

            realtime: true, //是否实时更新

            filterMode: 'filter',

            // zlevel: 10,

          },
          //以下重点: 让鼠标滚动从缩放变成移动
          // {

          //   type: 'inside',

          //   xAxisIndex: [0],

          //   zoomOnMouseWheel: false, //滚轮不触发缩放

          //   moveOnMouseMove: true,   //鼠标移动触发平移

          //   moveOnMouseWheel: true,  //鼠标滚轮触发平移

          // },

        ],
        series: [
          {
            data: [0, 0, 0, 0, 0],
            type: 'bar',
            barWidth: 40, //设置柱子宽度
            showBackground: true,
            backgroundStyle: {
              color: 'rgba(190,216,240,0.06)'
            }
          },

        ]
      };

      this.bckchart.setOption(option);
    },
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值