Vue+Echarts實(shí)現(xiàn)簡(jiǎn)單折線圖
本文實(shí)例為大家分享了Vue+Echarts實(shí)現(xiàn)簡(jiǎn)單折線圖的具體代碼,供大家參考,具體內(nèi)容如下
Vue+Echarts實(shí)現(xiàn)一個(gè)折線圖,打開vue的項(xiàng)目:
1、在項(xiàng)目里面安裝echarts
npm install echarts --save
2、在需要用圖表的地方引入
import echarts from 'echarts'
3、打開my.vue
繼續(xù)寫代碼,代碼如下:
<template>
? ? <!--為echarts準(zhǔn)備一個(gè)具備大小的容器dom-->
? ? <div id="main" style="width: 600px;height: 400px;"></div>
</template>
<script>
? ? import echarts from 'echarts'
? ? export default {
? ? ? ? name: '',
? ? ? ? data() {
? ? ? ? ? ? return {
? ? ? ? ? ? ? ? charts: '',
? ? ? ? ? ? /* ?opinion: ["1", "3", "3", "4", "5"],*/
? ? ? ? ? ? ? ? opinionData: ["3", "2", "4", "4", "5"]
? ? ? ? ? ? }
? ? ? ? },
? ? ? ? methods: {
? ? ? ? ? ? drawLine(id) {
? ? ? ? ? ? ? ? this.charts = echarts.init(document.getElementById(id))
? ? ? ? ? ? ? ? this.charts.setOption({
? ? ? ? ? ? ? ? ? ? tooltip: {
? ? ? ? ? ? ? ? ? ? ? ? trigger: 'axis'
? ? ? ? ? ? ? ? ? ? },
? ? ? ? ? ? ? ? ? ? legend: {
? ? ? ? ? ? ? ? ? ? ? ? data: ['近七日收益']
? ? ? ? ? ? ? ? ? ? },
? ? ? ? ? ? ? ? ? ? grid: {
? ? ? ? ? ? ? ? ? ? ? ? left: '3%',
? ? ? ? ? ? ? ? ? ? ? ? right: '4%',
? ? ? ? ? ? ? ? ? ? ? ? bottom: '3%',
? ? ? ? ? ? ? ? ? ? ? ? containLabel: true
? ? ? ? ? ? ? ? ? ? },
?
? ? ? ? ? ? ? ? ? ? toolbox: {
? ? ? ? ? ? ? ? ? ? ? ? feature: {
? ? ? ? ? ? ? ? ? ? ? ? ? ? saveAsImage: {}
? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? },
? ? ? ? ? ? ? ? ? ? xAxis: {
? ? ? ? ? ? ? ? ? ? ? ? type: 'category',
? ? ? ? ? ? ? ? ? ? ? ? boundaryGap: false,
? ? ? ? ? ? ? ? ? ? data: ["1","2","3","4","5"]
? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? },
? ? ? ? ? ? ? ? ? ? yAxis: {
? ? ? ? ? ? ? ? ? ? ? ? type: 'value'
? ? ? ? ? ? ? ? ? ? },
?
? ? ? ? ? ? ? ? ? ? series: [{
? ? ? ? ? ? ? ? ? ? ? ? name: '近七日收益',
? ? ? ? ? ? ? ? ? ? ? ? type: 'line',
? ? ? ? ? ? ? ? ? ? ? ? stack: '總量',
? ? ? ? ? ? ? ? ? ? ? ? data: this.opinionData
? ? ? ? ? ? ? ? ? ? }]
? ? ? ? ? ? ? ? })
? ? ? ? ? ? }
? ? ? ? },
? ? ? ? //調(diào)用
? ? ? ? mounted() {
? ? ? ? ? ? this.$nextTick(function() {
? ? ? ? ? ? ? ? this.drawLine('main')
? ? ? ? ? ? })
? ? ? ? }
? ? }
</script>
<style scoped>
? ? * {
? ? ? ? margin: 0;
? ? ? ? padding: 0;
? ? ? ? list-style: none;
? ? }
</style>這個(gè)時(shí)候,可以看到,加載出的折線圖了,后面可以繼續(xù)進(jìn)行完善。

這是最基本的折線圖,里面的折線點(diǎn)需要替換的話,要注意一些事情
如下代碼 所示
<template>
? ? <!--為echarts準(zhǔn)備一個(gè)具備大小的容器dom-->
? ? <div id="main" style="width: 600px;height: 400px;"></div>
</template>
<script>
?? ?import {getorder} from '../api/api.js'
? ? import echarts from 'echarts'
? ? export default {
? ? ? ? name: '',
? ? ? ? data() {
? ? ? ? ? ? return {
? ? ? ? ? ? ? ? charts: '',
? ? ? ? ? ? ?? ?/* ?opinion: ["1", "3", "3", "4", "5"],*/
? ? ? ? ? ? ?? ?
? ? ? ? ? ? ?? ?//opinionData: ["3", "2", "4", "4", "5"]
? ? ? ? ? ? ? ? opinionData: [],
? ? ? ? ? ? ? ? temp:[],
? ? ? ? ? ? ? ? id:1,
? ? ? ? ? ? }
? ? ? ? },
? ? ? ? methods: {
? ? ? ? ? ? drawLine(id) {
? ? ? ? ? ? ?? ?// 前端向后端發(fā)送請(qǐng)求,獲取數(shù)據(jù)(折線點(diǎn))
? ? ? ? ? ? ?? ?// 發(fā)送請(qǐng)求 要寫在drawLine方法里面,不然的話 opinionData 賦予不上數(shù)據(jù),做無用功
? ? ? ? ? ? ?? ?// params 里面的是 要向后端傳遞的一些參數(shù),為了獲取數(shù)據(jù)庫中的數(shù)據(jù),要替換成你自己的參數(shù)
? ? ? ? ? ? ? ? let params = {typ:9,id:this.id}
? ? ? ? ? ? ? ? // 這是我個(gè)人的 axios 封裝,有興趣的話,可以看我 axios 封裝的文章
? ? ? ? ? ? ? ? getorder(params).then((result)=>{
? ? ? ? ? ? ? ? this.temp = result.data.tempdic
? ? ? ? ? ? ? ? // console.log(this.temp)
? ? ? ? ? ? ? ? // 進(jìn)行賦值
? ? ? ? ? ? ? ? for (let i = 0; i < this.temp.length; i++) {
? ? ? ? ? ? ? ? ? ? var str = ''
? ? ? ? ? ? ? ? ? ? str += this.temp[i].temp
? ? ? ? ? ? ? ? ? ? this.opinionData.push(str)
? ? ? ? ? ? ? ? ? ? // console.log(this.temp[i].temp)
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? // 折線圖 自帶的代碼
? ? ? ? ? ? ? ? this.charts = echarts.init(document.getElementById(id))
? ? ? ? ? ? ? ? this.charts.setOption({
? ? ? ? ? ? ? ? ? ? tooltip: {
? ? ? ? ? ? ? ? ? ? ? ? trigger: 'axis'
? ? ? ? ? ? ? ? ? ? },
? ? ? ? ? ? ? ? ? ? legend: {
? ? ? ? ? ? ? ? ? ? ? ? data: ['溫度展示']
? ? ? ? ? ? ? ? ? ? },
? ? ? ? ? ? ? ? ? ? grid: {
? ? ? ? ? ? ? ? ? ? ? ? left: '3%',
? ? ? ? ? ? ? ? ? ? ? ? right: '4%',
? ? ? ? ? ? ? ? ? ? ? ? bottom: '3%',
? ? ? ? ? ? ? ? ? ? ? ? containLabel: true
? ? ? ? ? ? ? ? ? ? },
?
? ? ? ? ? ? ? ? ? ? toolbox: {
? ? ? ? ? ? ? ? ? ? ? ? feature: {
? ? ? ? ? ? ? ? ? ? ? ? ? ? saveAsImage: {}
? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? },
? ? ? ? ? ? ? ? ? ? xAxis: {
? ? ? ? ? ? ? ? ? ? ? ? type: 'category',
? ? ? ? ? ? ? ? ? ? ? ? boundaryGap: false,
? ? ? ? ? ? ? ? ? ? data: []
? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? },
? ? ? ? ? ? ? ? ? ? yAxis: {
? ? ? ? ? ? ? ? ? ? ? ? type: 'value',
? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? },
?
? ? ? ? ? ? ? ? ? ? series: [{
? ? ? ? ? ? ? ? ? ? ? ? name: '溫度展示',
? ? ? ? ? ? ? ? ? ? ? ? type: 'line',
? ? ? ? ? ? ? ? ? ? ? ? stack: '總量',
? ? ? ? ? ? ? ? ? ? ? ? data: this.opinionData
? ? ? ? ? ? ? ? ? ? }]
? ? ? ? ? ? ? ? }) ? ? ? ? ? ?
? ? ? ? ? ? }) ? ?
? ? ? ? ? ? }
? ? ? ? },
? ? ? ? //調(diào)用
? ? ? ? mounted() {
? ? ? ? ? ? this.$nextTick(function() {
? ? ? ? ? ? ? ? this.drawLine('main')
? ? ? ? ? ? })
? ? ? ? }
? ? }
</script>
<style scoped>
? ? * {
? ? ? ? margin: 0;
? ? ? ? padding: 0;
? ? ? ? list-style: none;
? ? }
</style>這樣就能展示出,我們想展示的數(shù)據(jù)的折線圖了!
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
webpack轉(zhuǎn)vite的詳細(xì)操作流程與問題總結(jié)
Vite是新一代的前端開發(fā)與構(gòu)建工具,相比于傳統(tǒng)的webpack,Vite 有著極速的本地項(xiàng)目啟動(dòng)速度(通常不超過5s)以及極速的熱更新速度(幾乎無感知),下面這篇文章主要給大家介紹了關(guān)于webpack轉(zhuǎn)vite的詳細(xì)操作流程與問題總結(jié)的相關(guān)資料,需要的朋友可以參考下2023-03-03
vue3集成Element-plus實(shí)現(xiàn)按需自動(dòng)引入組件的方法總結(jié)
vue3出來一段時(shí)間了,element也更新了版本去兼容vue3,下面這篇文章主要給大家介紹了關(guān)于vue3集成Element-plus實(shí)現(xiàn)按需自動(dòng)引入組件的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07
vue中el-select 和el-tree二次封裝實(shí)現(xiàn)
本文介紹了vue中el-select 和el-tree二次封裝實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-11-11
在vue.js渲染完界面之后如何再調(diào)用函數(shù)
這篇文章主要介紹了在vue.js渲染完界面之后如何再調(diào)用函數(shù)的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07
vue中LocalStorage與SessionStorage的區(qū)別與用法
本文主要介紹了LocalStorage和SessionStorage。LocalStorage和SessionStorage是兩種存儲(chǔ)方式,本文詳細(xì)的介紹一下區(qū)別以及用法,感興趣的可以了解一下2021-09-09
vue3中安裝并使用CSS預(yù)處理器Sass的方法詳解
Sass是一種CSS預(yù)處理器,它擴(kuò)展了CSS的功能,提供了更高級(jí)的語法和特性,例如變量、嵌套、混合、繼承和顏色功能等,這些特性可以幫助開發(fā)者更高效地管理和維護(hù)樣式表,本文介紹vue3中安裝并使用CSS預(yù)處理器Sass的方法,感興趣的朋友一起看看吧2024-01-01

