首頁 > 軟體

Vue+Echarts實現簡單折線圖

2022-03-21 19:00:13

本文範例為大家分享了Vue+Echarts實現簡單折線圖的具體程式碼,供大家參考,具體內容如下

Vue+Echarts實現一個折線圖,開啟vue的專案:

1、在專案裡面安裝echarts

npm install echarts --save

2、在需要用圖表的地方引入

import echarts from 'echarts'

3、開啟my.vue

繼續寫程式碼,程式碼如下:

<template>
    <!--為echarts準備一個具備大小的容器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
                    }]
                })
            }
        },
        //呼叫
        mounted() {
            this.$nextTick(function() {
                this.drawLine('main')
            })
        }
    }
</script>
<style scoped>
    * {
        margin: 0;
        padding: 0;
        list-style: none;
    }
</style>

這個時候,可以看到,載入出的折線圖了,後面可以繼續進行完善。

這是最基本的折線圖,裡面的折線點需要替換的話,要注意一些事情

如下程式碼 所示

<template>
    <!--為echarts準備一個具備大小的容器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) {
                // 前端向後端傳送請求,獲取資料(折線點)
                // 傳送請求 要寫在drawLine方法裡面,不然的話 opinionData 賦予不上資料,做無用功
                // params 裡面的是 要向後端傳遞的一些引數,為了獲取資料庫中的資料,要替換成你自己的引數
                let params = {typ:9,id:this.id}
                // 這是我個人的 axios 封裝,有興趣的話,可以看我 axios 封裝的文章
                getorder(params).then((result)=>{
                this.temp = result.data.tempdic
                // console.log(this.temp)
                // 進行賦值
                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
                    }]
                })            
            })    
            }
        },
        //呼叫
        mounted() {
            this.$nextTick(function() {
                this.drawLine('main')
            })
        }
    }
</script>
<style scoped>
    * {
        margin: 0;
        padding: 0;
        list-style: none;
    }
</style>

這樣就能展示出,我們想展示的資料的折線圖了!

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援it145.com。


IT145.com E-mail:sddin#qq.com