DataV 官网 http://datav.jiaminghi.com/guide/ echarts 官网 https://echarts.apache.org/zh/index.html 下载 npm install @jiaminghi/data-view npm install echarts -S npm install axios -S main.js引用 import DataV from '@jiaminghi/data-view' Vue.use(DataV) import echarts from 'echarts' Vue.prototype.$echarts = echarts import axios from 'axios' Vue.prototype.$http = axios //HellowWorld.vue <template> <div class="wrap"> <div class="titles"> //data-view装饰使用 <dv-decoration-1 :color="['whitesmoke', '']" style="width:200px;height:40px;" /> <p>title </p> <dv-decoration-1 :color="['whitesmoke', '']" style="width:200px;height:40px;" /> </div> <div class="warps"> <div class="main3"> <div class="content"> <div class="title"><em></em>title<em></em></div> <topRight /> </div> </div> </div> </div> </template> <script> import topRight from "./topRight"; export default { data() { return {}; }, components: { topRight, }, }; </script> //topRight.vue echart图表引用 <template> <div> <div id="topLeft" :style="{ width: '99%', height: '220px' }"></div> </div> </template> <script> export default { data() { return {}; }, mounted() { this.drawLine(); }, methods: { drawLine() { var that = this; that.$http({ method: "POST", url: "http://", data: { time: Date.parse(new Date()), }, header: { "Content-Type": " application/json" }, }) .then((res) => { that.data = res.data.num; var time = [],entryNum = [],exitNum = []; for (var i = 0; i < that.data.length; i++) { time.push(that.data[i].time); entryNum.push(that.data[i].entryNum); exitNum.push(that.data[i].exitNum); } let topLeft = this.$echarts.init( document.getElementById("topLeft") ); topLeft.setOption({ tooltip: { trigger: "axis", }, legend: { top: "8%", right: 10, textStyle: { color: "skyblue", }, data: ["", ""], }, grid: { left: "3%", right: "4%", bottom: "3%", containLabel: true, }, xAxis: { type: "category", boundaryGap: false, axisLabel: { textStyle: { color: "skyblue", }, }, data: time, }, yAxis: { splitLine: { lineStyle: { color: "rgba(182, 182, 182, 0.2)", }, }, axisLabel: { textStyle: { color: "skyblue", }, }, type: "value", name: "", nameTextStyle: { color: "skyblue", }, }, series: [ { name: "", type: "line", symbol: "circle", color: "#45dbf7", data: entryNum, areaStyle: {}, smooth: true, }, { name: "", type: "line", symbol: "circle", color: "#4777f5", areaStyle: {}, data: exitNum, smooth: true, }, ], }); }) }, }, }; </script> <style scoped> </style>