Vue通過echarts實現(xiàn)數(shù)據(jù)圖表化顯示
一、項目引入echarts

官網(wǎng)有許多圖表案例,并且可以直接復(fù)制對應(yīng)的配置代碼。
vue項目中引入:
安裝
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)簽自動布局,全局過渡動畫等特性
import { LabelLayout, UniversalTransition } from 'echarts/features';
// 引入 Canvas 渲染器,注意引入 CanvasRenderer 或者 SVGRenderer 是必須的一步
import { CanvasRenderer } from 'echarts/renderers';
// 注冊必須的組件
echarts.use([
TitleComponent,
TooltipComponent,
GridComponent,
DatasetComponent,
TransformComponent,
BarChart,
LabelLayout,
UniversalTransition,
CanvasRenderer
]);
// 接下來的使用就跟之前一樣,初始化圖表,設(shè)置配置項
var myChart = echarts.init(document.getElementById('main'));
myChart.setOption({
// ...
});對于入門學(xué)習(xí),不考慮項目的體積等問題,直接全部引入即可。
我看有的教程是直接在main.js中將echarts掛載到vue實例上的,但我感覺在需要使用圖表的組件或者頁面中直接引入更好。
二、創(chuàng)建容器
我們需要創(chuàng)建一個容器(就是一個div塊)來掛載將要渲染的圖表。
<div id="main"></div>
在js中獲?。?/p>
let chartDom = document.getElementById('main');
let myChart = echarts.init(chartDom);
使用ref同理。
在vue組件中有個更方便的方式(僅適用于當(dāng)前組件只渲染一個ecahrts圖表情況),可以直接使用this.$el來獲取當(dāng)前組件的dom。
let chartDom = this.$el; let myChart = echarts.init(chartDom);
三、配置圖表
echarts是基于一個option對象(配置對象)來進行圖表配置的。
下面是一個常見折線圖的option配置對象:

項目完整代碼:
<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>效果:

注意:
1、一定要給容器設(shè)置寬高,不然默認(rèn)寬高為0,頁面不會顯示圖表。
2、需要在mounted生命周期中獲取dom,在created周期中是無法獲取到dom的,自然無法完成圖表的掛載。
到此這篇關(guān)于Vue通過echarts實現(xiàn)數(shù)據(jù)圖表化顯示的文章就介紹到這了,更多相關(guān)Vue echarts內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解vue-router的導(dǎo)航鉤子(導(dǎo)航守衛(wèi))
這篇文章主要介紹了詳解vue-router的導(dǎo)航鉤子(導(dǎo)航守衛(wèi)),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
vue使用ElementUI時導(dǎo)航欄默認(rèn)展開功能的實現(xiàn)
這篇文章主要介紹了vue使用ElementUI時導(dǎo)航欄默認(rèn)展開功能的實現(xiàn),本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2018-07-07
vue項目如何設(shè)置全局字體樣式font-family
這篇文章主要介紹了vue項目如何設(shè)置全局字體樣式font-family問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-11-11
利用vue3+threejs仿iView官網(wǎng)大波浪特效實例
最近好幾個vue項目都是用ivew作為UI框架,所以下面這篇文章主要給大家介紹了關(guān)于如何利用vue3?+?threejs仿iView官網(wǎng)大波浪特效的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下2021-12-12

