一 、echart配置官方文档
三、echart术语速查
二、echart不显示的问题
1.需求
使用echart图表,通过后台请求数据
2.错误类型
- 整个图表不显示
原因:
1.没有获取到要初始化的div元素
2.没有给该div设置宽度和高度!!!
必须要在 HTML 中定义有宽度和高度的父容器
<div id="customer" style="height:300px; width: 100%"></div>
- 图表数据不显示
原因:
1.常发生在后端请求数据中,由于是异步请求,图表渲染的时候,数据还没有请求过来
解决办法: - 可以在数据请求的方法中初始化表格
- 使用async 和 await让一步请求数据的方法变成同步 如下
async mounted() {
await this.GetCustomerRank()
this.customerSaleEchart()
},
// 请求数据代码
/* 客户销售额排行 */
async GetCustomerRank() {
const response = await API_Dashboard.customerRank()
this.customerY = response.data.data2
this.customerX = response.data.data1
},
图表方法:
/* 客户销售额排行图 */
customerSaleEchart() {
// 基于准备好的dom,初始化echarts实例
var myChart = this.$echarts.init(document.getElementById('customer'));
// 指定图表的配置项和数据
var option = {
title: {
text: '销售排行-按客户' //图表标题
},
color:['#e6a23c'], //图形颜色
tooltip: { //提示信息
trigger : 'axis',
showDelay : 0,
axisPointer : {
type : 'shadow'
}
},
toolbox: { //保存图表图片
feature: {
saveAsImage: {}
}
},
legend: { //图表标识
data:['采购']
},
xAxis: {
data: this.customerX,
type:'category',
axisLabel: {
interval: 0,
rotate: 40
}
},
yAxis: {},
series: [
{
name: '销售总量',
type: 'bar',
data: this.customerY,
barWidth: 30
},
]
};
// 使用刚指定的配置项和数据显示图表
myChart.setOption(option);
},