一、在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 |
---|---|