echarts 柱状图配置及首页数据滚动效果

echarts柱状图相关代码如下:  

 productDataStats(eleId, chartType, caseData, keyArr) {
      echarts.init(document.getElementById(eleId)).dispose()
      var myChart = echarts.init(document.getElementById(eleId))
      var datasetArr = []
      var tempData = {
        dimensions: ['chartCategory', 'chartCount', 'chartKey'],
        source: caseData
      }
      datasetArr.push(tempData)

      for (var i = 0; i < keyArr.length; i++) {
        var transf = {
          transform: {
            type: 'filter',
            config: { dimension: 'chartKey', value: keyArr[i] }
          }
        }
        datasetArr.push(transf)
      }

      var seriesArr = []
      for (var j = 0; j < keyArr.length; j++) {
        var index = j + 1
        var series = {
          name: keyArr[j],
          type: chartType,
          stack: 'x',
          label: {
            show: false,
            position: 'inside'
          },
          encode: {
            // 将 "chartCategory" 列映射到 X 轴。
            x: 'chartCategory',
            // 将 "chartCount" 列映射到 Y 轴。
            y: 'chartCount',
            label: ['chartCount']
          },
          datasetIndex: index
        }
        seriesArr.push(series)
      }
      var option = {
        legend: {},
        tooltip: {},
        grid: {
          left: '3%',
          right: '4%',
          bottom: '12%',
          containLabel: true
        },
        dataZoom: [
          {
            show: true, //控制滚动条显示隐藏
            type: 'slider',
            xAxisIndex: [0],
            realtime: true, //拖动滚动条时是否动态的更新图表数据
            height: 5, //滚动条高度
            start: 0, //滚动条开始位置(共100等份)
            end: caseData.length > 25 ? 50 : this.endValue, //滚动条结束位置
            bottom: 10,
            zoomLock: true //控制面板是否进行缩放
          }
        ],
        dataset: datasetArr,
        xAxis: {
          type: 'category',
          show: true,
          axisLabel: {
            interval: 0, // 坐标轴刻度标签的显示间隔
            rotate: 40,
            formatter: function (value, index) {
              if (value.length > 7) {
                return value.substr(0, 7) + '...'
              } else {
                return value
              }
            }
          }
        },
        yAxis: { name: '案件量(件)' },
        // Declare several bar series, each will be mapped
        // to a column of dataset.source by default.
        series: seriesArr
      }

      myChart.setOption(option)
    },

实现的效果如下:

首页滚动效果:

vue 安装 vue-count-to

npm install vue-count-to

所用页面引入包

import CountTo from 'vue-count-to'

使用方式及参数说明:

引用代码:

<CountTo
  :startVal='startVal'
  :endVal='endVal'
  :duration='duration'
/>

参数说明:

效果如下:

tip:当autoplay:true时,它将在startVal或endVal更改时自动启动

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值