一、在vue中使用Echarts
1.安装Echarts
npm install echarts --save
2.准备一个呈现图表的盒子
给盒子起名字是建议使用id选择器
 这个盒子通常来说就是我们熟悉的 div ,这个 div 决定了图表显示在哪里,盒子一定要指定宽和高
<div id="main" style="width: 600px;height:400px;"></div>
3.初始化 echarts 实例对象
在这个步骤中, 需要指明图表最终显示在哪里的DOM元素
<script>
import * as echarts from 'echarts'
//准备数据并且配置
var option = {
        title: {
          text: 'ECharts 入门示例'
        },
        tooltip: {},
        legend: {
          data: ['销量']
        },
        xAxis: {
          data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子']
        },
        yAxis: {},
        series: [
          {
            name: '销量',
            type: 'bar',
            data: [5, 20, 36, 10, 10, 20]
          }
        ]
      };
//填充上面div盒子
mounted() {
    var myChart = echarts.init(document.getElementById("main"))
    myChart.setOption(option)
  }
</script>
这样已经可以实现一个提前定义好数据的一个可视化图形,如果要实现前后端数据交互,请继续往下看
4.axios实现前后端数据交互
1、一定要指定宽度和高度
<div id="pie"></div>
#pie{
	height:100px;
	width:100px;
}
2、初始图形数据准备数据
var option = {
  xAxis: {
    type: 'category',
    data: []
  },
  yAxis: {},
  series: [
    {
      type: 'bar',
      data: []
    }
  ]
};
3、数据赋值
export const getGoodsApi = () => { 
  return http({
    url: '/goods',
    method: 'get'
  })
}
<script>
import { getGoodsApi } from '@/api/api';
methods:{
    getGoods(){
      var myChart = echarts.init(document.getElementById("pie"))
      getGoodsApi().then(res => {        
        option.series[0].data = res.data.map(v => v.num) //这里series是个数组必须加上[0]
        option.xAxis.data = res.data.map(v => v.name)
        myChart.setOption(option)
      })
    }
  },
mounted() {
    this.getGoods()
  }
</script>
这样数据就通顺了
4、后端传递数据的转换
{
  "code": 200,
  "msg": "success",
  "data": [
    {
      "name": "huawei",
      "num": 100000
    },
    {
      "name": "xiaomi",
      "num": 20000
    },
    {
      "name": "oppo",
      "num": 450000
    },
    {
      "name": "iphone",
      "num": 2500
    },
    {
      "name": "vivo",
      "num": 320000
    },
    {
      "name": "honor",
      "num": 500000
    },
    {
      "name": "readme",
      "num": 341111
    }
  ]
}
echarts里面的数据都是数组,如何把name,num的属性值全部放到数组里面
var names = data.map(v => v.name)
var nums = data.map(v => v.num) 
| names | nums | 
|---|---|
|  |  | 


![[vulnhub] Hackademic.RTB1](https://i-blog.csdnimg.cn/direct/bad9c84d469a4fe988c7f9c7a8fe79ba.png)











![[笔记]某视觉三维定位系统参数表](https://img-blog.csdnimg.cn/2b87d782c77e4595b9139735d209d86b.jpg)




