echarts 统计图 下钻 vue 接口数据

echarts 统计图 使用下钻 vue

普通的 统计图

参考官网 echarts 官网

大部分常用的 已经都封装改好了 直接c v 完事

template>
                
  <div id="echart1"></div>   //放他的盒子 id 很重要


</template>

<script>
export default {
name: "",
data(){
return
},

mounted() {      
this.echarts();

},

methods: {
echarts(){
var chartDom = document.getElementById('echart1');
var myChart = echarts.init(chartDom);
var option;

option = {
  xAxis: {
    type: 'category',
    data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
  },
  yAxis: {
    type: 'value'
  },
  series: [
    {
      data: [120, 200, 150, 80, 70, 110, 130],
      type: 'bar'
    }
  ]
};

option && myChart.setOption(option);
},

}
}
</script>

<style scoped>
//样式自己写去 

#echart1 {
height: 350px;
width: 800px;
margin: 0 auto;
}


</style>

在这里插入图片描述

想要钻取 就得给他添加点击 然后传入对应的数据调用方法

template>
                
  <div id="echart1"></div>   //放他的盒子 id 很重要


</template>

<script>
export default {
name: "",
data(){
return
},

mounted() {      
this.echarts();

},

methods: {
echarts(){
var chartDom = document.getElementById('main');
var myChart = echarts.init(chartDom);
var option;

option = {
  xAxis: {
    data: ['Animals', 'Fruits', 'Cars']
  },
  yAxis: {},
  dataGroupId: '',
  animationDurationUpdate: 500,
  series: {
    type: 'bar',
    id: 'sales',
    data: [
      {
        value: 5,
        groupId: 'animals'
      },
      {
        value: 2,
        groupId: 'fruits'
      },
      {
        value: 4,
        groupId: 'cars'
      }
    ],
    universalTransition: {
      enabled: true,
      divideShape: 'clone'
    }
  }
};
const drilldownData = [
  {
    dataGroupId: 'animals',
    data: [
      ['Cats', 4],
      ['Dogs', 2],
      ['Cows', 1],
      ['Sheep', 2],
      ['Pigs', 1]
    ]
  },
  {
    dataGroupId: 'fruits',
    data: [
      ['Apples', 4],
      ['Oranges', 2]
    ]
  },
  {
    dataGroupId: 'cars',
    data: [
      ['Toyota', 4],
      ['Opel', 2],
      ['Volkswagen', 2]
    ]
  }
];
myChart.on('click', function (event) {
  if (event.data) {
    var subData = drilldownData.find(function (data) {
      return data.dataGroupId === event.data.groupId;
    });
    if (!subData) {
      return;
    }
    myChart.setOption({
      xAxis: {
        data: subData.data.map(function (item) {
          return item[0];
        })
      },
      series: {
        type: 'bar',
        id: 'sales',
        dataGroupId: subData.dataGroupId,
        data: subData.data.map(function (item) {
          return item[1];
        }),
        universalTransition: {
          enabled: true,
          divideShape: 'clone'
        }
      },
      graphic: [
        {
          type: 'text',
          left: 50,
          top: 20,
          style: {
            text: 'Back',
            fontSize: 18
          },
          onclick: function () {
            myChart.setOption(option);
          }
        }
      ]
    });
  }
});

option && myChart.setOption(option);
},

}
}
</script>

<style scoped>
//样式自己写去 

#echart1 {
height: 350px;
width: 800px;
margin: 0 auto;
}


</style>

对比一下 显而易见

如果有后端写好的接口 点击下钻 可以方法中 不需要写上面的代码 直接在 点击方法中 调用接口 刷新列表即可

目前我遇到的问题是 需要传入id 就是目前点击下钻的名称id 然后调用接口
这个id可以从 data 中传入 平常的data :[1,2,3,3,3,]这样子
只需要把他写成对象的那种 key value 即可传入[{id:‘111’,value:‘xxxx’}]

这个id 就可以从 这个点击事件传入的 event.data 获取
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YOIO.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值