<template>
<div>
用柱状图展示2020年消费额最低的5个省份
同时将用于图表展示的数据结构在浏览器的console中进行打印输出
</div>
<div id="main"></div>
</template>
<script>
import echarts from '../assets/echarts.min'
import axios from '../assets/axios'
export default {
mounted() {
var myChart = echarts.init(document.getElementById("main"));
axios.post('/api/selectOrderInfo', {
"startTime": "2023-01-01T00:00:00+0800",
"endTime": "2023-12-31T23:59:59+0800"
}).then(response => {
var data = response.data.data;
// 按省份统计消费额
var provinceData = data.reduce((acc, item) => {
var province = item.provinceName;
var totalAmount = item.finalTotalAmount;
acc[province] = (acc[province] || 0) + totalAmount;
return acc;
}, {});
// 将省份消费额数据转换为数组
var provinceAvg = Object.entries(provinceData)
.map(([province, avgAmount]) => ({ province, avgAmount }))
.sort((a, b) => a.avgAmount - b.avgAmount)
.slice(0, 5);
// 将省份名称和消费额分别存入两个数组
var provinces = provinceAvg.map(item => item.province);
var amounts = provinceAvg.map(item => item.avgAmount);
// 打印数据结构到console
console.log('最低的5个省名:', provinces);
console.log('最低的5个省消费总额:', amounts);
// 配置图表
var option = {
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'shadow'
}
},
title: {
text: '2023年消费额最低的五个省份',
left: 'center'
},
xAxis: {
name: '省份',
type: 'category',
data: provinces
},
yAxis: {
name: '消费额度/元',
type: 'value'
},
series: [{
data: amounts,
type: 'bar'
}]
};
// 设置图表
myChart.setOption(option);
});
}
};
</script>
<style>
#main {
width: 100%;
height: 500px;
}
</style>