You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
131 lines
3.0 KiB
131 lines
3.0 KiB
4 months ago
|
<template>
|
||
|
<div ref="chart" style="width: 350px; height: 200px;"></div>
|
||
|
</template>
|
||
|
|
||
|
<script>
|
||
|
import * as echarts from 'echarts';
|
||
|
|
||
|
export default {
|
||
|
name: 'SalesChart',
|
||
|
data() {
|
||
|
return {
|
||
|
chart: null,
|
||
|
};
|
||
|
},
|
||
|
mounted() {
|
||
|
this.initChart();
|
||
|
},
|
||
|
methods: {
|
||
|
initChart() {
|
||
|
// 基于准备好的dom,初始化echarts实例
|
||
|
this.chart = echarts.init(this.$refs.chart);
|
||
|
|
||
|
// 指定图表的配置项和数据
|
||
|
const option = {
|
||
|
tooltip: {
|
||
|
trigger: 'axis',
|
||
|
axisPointer: {
|
||
|
type: 'cross',
|
||
|
crossStyle: {
|
||
|
color: '#999'
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
toolbox: {
|
||
|
feature: {
|
||
|
dataView: { show: true, readOnly: false },
|
||
|
magicType: { show: true, type: ['line', 'bar'] },
|
||
|
restore: { show: true },
|
||
|
saveAsImage: { show: true }
|
||
|
}
|
||
|
},
|
||
|
legend: {
|
||
|
data: ['Evaporation', 'Temperature']
|
||
|
},
|
||
|
xAxis: [
|
||
|
{
|
||
|
type: 'category',
|
||
|
data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
|
||
|
axisPointer: {
|
||
|
type: 'shadow'
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
yAxis: [
|
||
|
{
|
||
|
type: 'value',
|
||
|
name: 'Precipitation',
|
||
|
min: 0,
|
||
|
max: 250,
|
||
|
interval: 50,
|
||
|
axisLabel: {
|
||
|
formatter: '{value} ml'
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
type: 'value',
|
||
|
name: 'Temperature',
|
||
|
min: 0,
|
||
|
max: 25,
|
||
|
interval: 5,
|
||
|
axisLabel: {
|
||
|
formatter: '{value} °C'
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
series: [
|
||
|
{
|
||
|
name: 'Evaporation',
|
||
|
type: 'bar',
|
||
|
tooltip: {
|
||
|
valueFormatter: function (value) {
|
||
|
return value + ' ml';
|
||
|
}
|
||
|
},
|
||
|
data: [
|
||
|
2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3
|
||
|
]
|
||
|
},
|
||
|
// {
|
||
|
// name: 'Precipitation',
|
||
|
// type: 'bar',
|
||
|
// tooltip: {
|
||
|
// valueFormatter: function (value) {
|
||
|
// return value + ' ml';
|
||
|
// }
|
||
|
// },
|
||
|
// data: [
|
||
|
// 2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3
|
||
|
// ]
|
||
|
// },
|
||
|
{
|
||
|
name: 'Temperature',
|
||
|
type: 'line',
|
||
|
yAxisIndex: 1,
|
||
|
tooltip: {
|
||
|
valueFormatter: function (value) {
|
||
|
return value + ' °C';
|
||
|
}
|
||
|
},
|
||
|
data: [2.0, 2.2, 3.3, 4.5, 6.3, 10.2, 20.3, 23.4, 23.0, 16.5, 12.0, 6.2]
|
||
|
}
|
||
|
]
|
||
|
};
|
||
|
|
||
|
|
||
|
// 使用刚指定的配置项和数据显示图表。
|
||
|
this.chart.setOption(option);
|
||
|
},
|
||
|
},
|
||
|
beforeDestroy() {
|
||
|
if (this.chart) {
|
||
|
// 销毁图表实例
|
||
|
this.chart.dispose();
|
||
|
}
|
||
|
},
|
||
|
};
|
||
|
</script>
|
||
|
|
||
|
<style scoped>
|
||
|
/* 根据需要添加样式 */
|
||
|
</style>
|