echarts中dataZoom的使用(与坐标轴重叠,与无论后台数据有多少,页面展示的数据量正合适)

Posted bingchenzhilu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了echarts中dataZoom的使用(与坐标轴重叠,与无论后台数据有多少,页面展示的数据量正合适)相关的知识,希望对你有一定的参考价值。

<template>
  <div ref="chart" id="Chart" style="width:100%;height:400px;"></div>
</template>

<script>
export default {
  data() {
    return {}
  },
  props: [title, classList, data,dataZoom],
  methods: {
   chart() {
      // 基于准备好的dom,初始化echarts实例
      let myChart = this.$echarts.init(document.getElementById(Chart))
      // 绘制图表
      myChart.setOption({
        color: [#3398DB,red],
        title: {
          x: left,
          text: this.title
        },
        legend: {
          left: right,
          top: top
        },
        tooltip: {
          trigger: axis,
          axisPointer: {
            type: shadow
          }
        },
        grid: {
          left: 3%,
          right: 4%,
          bottom: 12%,
          containLabel: true
        },
        xAxis: [
          {
            type: category,
            data: this.classList,
            axisTick: {
              alignWithLabel: true
            },
            axisLabel: {
              //设置x轴的字
              show: true,
              interval: 0, //使x轴横坐标全部显示
              rotate: 50, //倾斜度 -90 至 90 默认为0
              formatter: function(value, index) {
                if (value.length > 8) {
                  return value.substr(0, 5) + ...
                } else {
                  return value
                }
              }
            }
          }
        ],
        yAxis: [
          {
            type: value,
            name: 人数,
            boundaryGap: [0, 100%]
          }
        ],
        series: [
          {
            name: this.data,
            type: line,
            barWidth: 60%,
            data: this.data
          },
        ],
        dataZoom:this.dataZoom?this.dataZoom:[]
       
      })
      window.onresize = function() {
        myChart.resize()
      }
    }
  },
  created() {},
  mounted() {
    this.chart()
  }
}
</script>
<style scoped>
</style>

1.以上代码是引入echarts,横坐标与dataZoom是从父组件传递过来的,dataZoom使用父组件传递是为了确保数据量少的图表不需要拉伸展示数据

const dataZoom = [
  {
    id: ‘dataZoomX‘,
    type: ‘slider‘,
    xAxisIndex: [0],
    filterMode: ‘filter‘,
    start: 0,
    end: 50,
  }
]

  以上是dadaZoom的值,我们需要动态设置end的值,以确保不管数据有多少,打开后不会挤成一团,

 this.dataZoom[0].end=10/this.source.length*100

以上代码,显示当数据是10条数据的时候,展示正合适。

可根据调取数据,确定几条数据合适

2.dataZoom与坐标轴重合,

grid: {
          left: ‘3%‘,
          right: ‘4%‘,
          bottom: ‘12%‘,
          containLabel: true
        },

  在以上字段中。设置bottom的值,即可放置在妥善的位置。

以上是关于echarts中dataZoom的使用(与坐标轴重叠,与无论后台数据有多少,页面展示的数据量正合适)的主要内容,如果未能解决你的问题,请参考以下文章

Echart使用过的属性总结

十Echart图表 之 dataZoom区域缩放 基本使用与配置大全

使用echarts做对比图

ECharts地图,可以在缩放到一定程度时改变事件么

echarts 图表legenddataZoom组件问题

echarts: dataZoom滑块没有显示正确的数据预览。