溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在vue中使用Echarts實現畫曲線圖

發布時間:2020-10-29 16:21:19 來源:億速云 閱讀:440 作者:Leah 欄目:開發技術

如何在vue中使用Echarts實現畫曲線圖?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

一.引入vue-resource

  通過npm下載vue-resource

npm install vue-resource --save

  在main.js中引入vue-resource并注冊

// main.js

import VueResource from 'vue-resource' 
Vue.use(VueResource)

二.設置aysnc-lineChart-option.js

  將該曲線圖的沒有數據的option抽取到async-lineChart-option.js中。

  此代碼在src/echarts/aysnc-lineChart-option.js文件中,代碼如下。

export const option = {
  title: { text: '曲線圖' },
  backgroundColor: '#FBFBFB',
  tooltip: {
    trigger:'axis'
  },
  xAxis: {
    data: [],
    name: 'id'
  },
  yAxis: {},
  series: [{
    name: 'data',
    type: 'line',
    data: [],
    smooth : true,
    itemStyle: {
      normal: {
        color: 'hotpink'
      }
    }
  }]
}

三.在Curve.vue中請求數據

    1.從async-lineChart-option.js中引入option

  2.在methods中添加drawLineChart()方法

  3.在mounted()鉤子函數中調用drawBarChart()

  4.添加加載動畫,在drawLineChart()方法中添加showLoading()和hideLoading()

  此代碼在src/views/Curve.vue中,代碼如下:

<script>
  import {option} from '../echarts/aysnc-lineChart-option.js' //從aysnc-lineChart-option.js中引入option

  export default {
    name: 'Curve',

    mounted() {
      //調用drawLineChart()
      this.drawLineChart();
    },
    data () {
      return {

      }
    },
    methods:{      drawLineChart() {
        // 基于準備好的dom,初始化echarts實例
        var myChart = this.$echarts.init(document.getElementById('myChart'));
        // 繪制基本圖表
        myChart.setOption(option);

        //顯示加載動畫
        myChart.showLoading();

        //獲取數據
        this.$axios.get('/getdate').then(res => {

          //將json對象的所有id數據組成一個數組
          var id = [];
          for(let i = 0;i < res.data.length;i++){
            id.push(res.data[i].id);
          }

          //將json對象中的所有data數據組成一個數組
          var data = [];
          for(let i = 0;i < res.data.length;i++){
            data.push(res.data[i].data);
          }

          setTimeout(()=>{ //為了讓加載動畫效果明顯,這里加入了setTimeout,實現300ms延時
            myChart.hideLoading(); //隱藏加載動畫
            myChart.setOption({
              xAxis: {
                data: id
              },
              series: [{
                 data: data
              }]
            })
          }, 300 )
        })
      },
    },

  };


</script>

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女