前言:
当下,数据可视化似乎为常态了,想对于比较数据而言,现在的人们更喜欢去看图形。具体怎么使用可以参照一下Apache ECharts官网,来进行相应的操作。
一.使用echarts画个简单的图形
1.引入echarts
<script src="https://cdn.staticfile.org/echarts/4.3.0/echarts.min.js"></script>
2.盒子的大小
<div id="main" style="width: 300px; height:300px;">
</div>
3.初始化数据
var myChart = echarts.init(document.getElementById('main'));
4.指定图表的配置项和数据
var option = {
title: {
text: 'ECharts 入门示例'
},
tooltip: {},
legend: {
data: ['销量']
},
xAxis: {
data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子']
},
yAxis: {},
series: [{
name: '销量',
type: 'bar',
data: [5, 20, 36, 10, 10, 20]
}]
};
4.使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
5.配置出来的结果
二.那么在Vue中是怎么进行使用的呢?
1.获取
npm install echarts -S
2.挂载到Vue的实例上
import echarts from "echarts";
import * as echarts from "echarts";
注意:需要加上as如果不加则图形无法进行显示。
3.使用
<template>
<div id="myChart" :style="{ width: '300px', height: '300px' }"></div>
</template>
<script>
export default {
name: "hello",
data() {
return {
msg: "Welcome to Your Vue.js App",
};
},
mounted() {
this.drawLine();
},
methods: {
drawLine() {
// 基于准备好的dom,初始化echarts实例
let myChart = this.$echarts.init(document.getElementById("myChart"));
// 绘制图表
myChart.setOption({
title: { text: "在Vue中使用echarts" },
tooltip: {},
xAxis: {
data: ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"],
},
yAxis: {},
series: [
{
name: "销量",
type: "bar",
data: [5, 20, 36, 10, 10, 20],
},
],
});
},
},
};
</script>
<style scoped></style>
分析:大体上的步骤是没有什么变化的,引入的方式发生了改变。
三.设置需要挂载的盒子大小和图形大小的关系
1. 300x300的盒子
2.加大盒子的宽度设置为100%后
3.通过上面的宽度和高度的比较
结论:图形的大小和盒子大小存在着必然的联系。
4.调用后端的接口把数据渲染到视图上去
<template>
<div>
<div id="myChart" :style="{ width: '300px', height: '300px' }"></div>
<button @click="fn">点击切换数据</button>
</div>
</template>
<script>
export default {
name: "hello",
data() {
return {
msg: "Welcome to Your Vue.js App",
arr: [20, 30, 40, 50, 60, 20],
};
},
mounted() {
this.drawLine();
},
methods: {
fn() {
this.arr;
},
drawLine() {
// 基于准备好的dom,初始化echarts实例
let myChart = this.$echarts.init(document.getElementById("myChart"));
// 绘制图表
myChart.setOption({
title: { text: "在Vue中使用echarts" },
tooltip: {},
xAxis: {
data: ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"],
},
yAxis: {},
series: [
{
name: "销量",
type: "bar",
data: this.arr,
},
],
});
},
},
};
</script>
<style scoped></style>
思路:
把后端的数据直接放在对应的配置项即可。
arr: [20, 30, 40, 50, 60, 20],
data: this.arr,