溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Vue通過(guò)echarts怎么實(shí)現(xiàn)數(shù)據(jù)圖表化顯示

發(fā)布時(shí)間:2022-08-31 10:37:08 來(lái)源:億速云 閱讀:200 作者:iii 欄目:開發(fā)技術(shù)

這篇“Vue通過(guò)echarts怎么實(shí)現(xiàn)數(shù)據(jù)圖表化顯示”文章的知識(shí)點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來(lái)看看這篇“Vue通過(guò)echarts怎么實(shí)現(xiàn)數(shù)據(jù)圖表化顯示”文章吧。

一、項(xiàng)目引入echarts

ecahrts官網(wǎng)

Vue通過(guò)echarts怎么實(shí)現(xiàn)數(shù)據(jù)圖表化顯示

官網(wǎng)有許多圖表案例,并且可以直接復(fù)制對(duì)應(yīng)的配置代碼。

vue項(xiàng)目中引入:

安裝

npm install echarts --save

引入echarts

全部一次性引入:

import * as echarts from 'echarts';

按需引入:

// 引入 echarts 核心模塊,核心模塊提供了 echarts 使用必須要的接口。
import * as echarts from 'echarts/core';
// 引入柱狀圖圖表,圖表后綴都為 Chart
import { BarChart } from 'echarts/charts';
// 引入提示框,標(biāo)題,直角坐標(biāo)系,數(shù)據(jù)集,內(nèi)置數(shù)據(jù)轉(zhuǎn)換器組件,組件后綴都為 Component
import {
  TitleComponent,
  TooltipComponent,
  GridComponent,
  DatasetComponent,
  TransformComponent
} from 'echarts/components';
// 標(biāo)簽自動(dòng)布局,全局過(guò)渡動(dòng)畫等特性
import { LabelLayout, UniversalTransition } from 'echarts/features';
// 引入 Canvas 渲染器,注意引入 CanvasRenderer 或者 SVGRenderer 是必須的一步
import { CanvasRenderer } from 'echarts/renderers';
// 注冊(cè)必須的組件
echarts.use([
  TitleComponent,
  TooltipComponent,
  GridComponent,
  DatasetComponent,
  TransformComponent,
  BarChart,
  LabelLayout,
  UniversalTransition,
  CanvasRenderer
]);
// 接下來(lái)的使用就跟之前一樣,初始化圖表,設(shè)置配置項(xiàng)
var myChart = echarts.init(document.getElementById('main'));
myChart.setOption({
  // ...
});

對(duì)于入門學(xué)習(xí),不考慮項(xiàng)目的體積等問(wèn)題,直接全部引入即可。

我看有的教程是直接在main.js中將echarts掛載到vue實(shí)例上的,但我感覺(jué)在需要使用圖表的組件或者頁(yè)面中直接引入更好。

二、創(chuàng)建容器

我們需要?jiǎng)?chuàng)建一個(gè)容器(就是一個(gè)div塊)來(lái)掛載將要渲染的圖表。

<div id="main"></div>

在js中獲?。?/p>

let chartDom = document.getElementById('main');
let myChart = echarts.init(chartDom);

使用ref同理。

在vue組件中有個(gè)更方便的方式(僅適用于當(dāng)前組件只渲染一個(gè)ecahrts圖表情況),可以直接使用this.$el來(lái)獲取當(dāng)前組件的dom。

let chartDom = this.$el;
let myChart = echarts.init(chartDom);

三、配置圖表

echarts是基于一個(gè)option對(duì)象(配置對(duì)象)來(lái)進(jìn)行圖表配置的。

下面是一個(gè)常見折線圖的option配置對(duì)象:

Vue通過(guò)echarts怎么實(shí)現(xiàn)數(shù)據(jù)圖表化顯示

項(xiàng)目完整代碼:

<template>
  <div id="main"></div>
</template>
<script>
import * as echarts from 'echarts';
export default {
  data(){
    return{
    }
  },
  mounted() {
    let chartDom = document.getElementById('main');
    let myChart = echarts.init(chartDom);
    let option;

    option = {
      xAxis: {
        type: 'category',
        data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
      },
      yAxis: {
        type: 'value'
      },
      series: [
        {
          data: [150, 230, 224, 218, 135, 147, 260],
          type: 'line'
        }
      ]
    };
    option && myChart.setOption(option);
  }
}
</script>
<style scoped>
#main{
  width: 500px;
  height: 500px;
}
</style>

效果:

Vue通過(guò)echarts怎么實(shí)現(xiàn)數(shù)據(jù)圖表化顯示

注意:

1、一定要給容器設(shè)置寬高,不然默認(rèn)寬高為0,頁(yè)面不會(huì)顯示圖表。

2、需要在mounted生命周期中獲取dom,在created周期中是無(wú)法獲取到dom的,自然無(wú)法完成圖表的掛載。

以上就是關(guān)于“Vue通過(guò)echarts怎么實(shí)現(xiàn)數(shù)據(jù)圖表化顯示”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對(duì)大家有幫助,若想了解更多相關(guān)的知識(shí)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI