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的值,即可放置在妥善的位置。

原文地址:https://www.cnblogs.com/bingchenzhilu/p/12121082.html

时间: 2024-11-09 06:18:25

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

Echarts中线状图的X轴坐标标签倾斜样式

在echarts中应用线状图时可以展现很多的数据,而当数据量过多的时候,X轴的坐标就会显示不全,因为整个图形的宽度是一定的,X轴的全长是一定的 http://www.cnblogs.com/phpgcs 比如下面的例子中 X轴是常用的日期格式 20140508 这样子 而经过简单的配置,可以达到一个理想的效果,如下 其中相关的需要配置的option参数为: ? 1 2 3 4 formatDate:function(datestring){     if(datestring.length!=8

Echarts中series循环添加数据

1.首先定义变量 2.根据后台查询出来的数据循环添加到变量中 var series = []; for (var i = 0, size = data.dataList.length; i < size; i++) { legendData.push(data.dataList[i].sjjc); series.push({ name: data.dataList[i].sjjc, type: 'line', smooth: true, label: { normal: { show: true

【ECharts】SSH+JQueryAjax+Json+JSP将数据库中数据填充到ECharts中

1导入包,搭建SSH框架. 导入JQuery的JS包,<script src="JS/jquery-1.7.1.js"></script> 导入ECharts的包.<script src="http://s1.bdstatic.com/r/www/cache/ecom/esl/1-6-10/esl.js"></script> 前提你的SSH已经搭好了,数据已经传递到了Struts层. 2在Action层,将数据封装成J

echarts中的option.legend.data has not been defined.

1.错误描述 2.错误原因 var map = function(mapData){ require( [ 'echarts', 'echarts/chart/map' ], function (ec) { var mapChart = ec.init(document.getElementById('mapDataChart')); var option = { title : { text: '', x : 'center', y : 'top' }, tooltip : { trigger

echarts中视觉映射器(visualMap)与时间轴(timeline)混用的实现方法

1.简述 echarts中的 timeline 组件,提供了在多个 ECharts option 间进行切换.播放等操作的功能. 与其他组件些不同,它需要操作『多个option』. 所以除了基准的baseOption外,我们还需要设置一个原子option和多个原子option的复合option. 2. baseOption实现方式如下(以石家庄市地图为例): var mapDataByAreaTest = [ //各区域初始值 {name: '长安区', value: 12}, {name: '

AD PCB中两个不同高度器件重叠 软件报警告变绿

这个问题遇到几次了,每次都要在网上搜索解决方法,今天记下来! 在规则里面不检查器件高度这项应该是最简单,也不影响其他规则的方法了! 具体操作: Design - rules - Component Clearance  ,把下图2的位置 勾选去掉! AD PCB中两个不同高度器件重叠 软件报警告变绿

在百度echarts中添加标识线markLine

在百度echarts中添加标识线,打开以下网址复制代码到输入框,绘制一条直线. http://echarts.baidu.com/echarts2/doc/example/line3.html option = { title : { text: '某楼盘销售情况', subtext: '纯属虚构' }, tooltip : { trigger: 'axis' }, legend: { data:['意向','预购','成交'] }, toolbox: { show : true, featur

ECharts SSH+JQueryAjax+Json+JSP将数据库中数据填充到ECharts中

本文引用自:http://blog.csdn.net/ArcticFoxHan/article/details/38071641   1.导入包,搭建SSH框架 导入Jquery的JS包,<script src="JS/jquery.1.7.1.js"></script> 导入ECharts的包.<script src="http://s1.bdstatic.com/r/www/cache/ecom/esl/1-6-10/esl.js"

在导航控制器的rootviewcontroller中push一个控制器 出现view重叠现象

在导航控制器的rootviewcontroller中push一个控制器  出现view重叠现象而且不可点击了,原因是:在rootviewvc页面做横扫手势操作,会影响nav的stack, 直接说解决办法吧,写在rootviewcontroller中 - (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; self.navigationController.interactivePopGestureRecogni