Vue通過echarts實(shí)現(xiàn)數(shù)據(jù)圖表化顯示
一、項(xiàng)目引入echarts
官網(wǎng)有許多圖表案例,并且可以直接復(fù)制對應(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)簽自動布局,全局過渡動畫等特性 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è)置配置項(xiàng) var myChart = echarts.init(document.getElementById('main')); myChart.setOption({ // ... });
對于入門學(xué)習(xí),不考慮項(xiàng)目的體積等問題,直接全部引入即可。
我看有的教程是直接在main.js中將echarts掛載到vue實(shí)例上的,但我感覺在需要使用圖表的組件或者頁面中直接引入更好。
二、創(chuàng)建容器
我們需要創(chuàng)建一個(gè)容器(就是一個(gè)div塊)來掛載將要渲染的圖表。
<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來獲取當(dāng)前組件的dom。
let chartDom = this.$el; let myChart = echarts.init(chartDom);
三、配置圖表
echarts是基于一個(gè)option對象(配置對象)來進(jìn)行圖表配置的。
下面是一個(gè)常見折線圖的option配置對象:
項(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>
效果:
注意:
1、一定要給容器設(shè)置寬高,不然默認(rèn)寬高為0,頁面不會顯示圖表。
2、需要在mounted生命周期中獲取dom,在created周期中是無法獲取到dom的,自然無法完成圖表的掛載。
到此這篇關(guān)于Vue通過echarts實(shí)現(xiàn)數(shù)據(jù)圖表化顯示的文章就介紹到這了,更多相關(guān)Vue echarts內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Vue echarts 實(shí)現(xiàn)離線中國地圖的示例代碼(細(xì)化到省份)
- Vue?echarts實(shí)例項(xiàng)目地區(qū)銷量趨勢堆疊折線圖實(shí)現(xiàn)詳解
- Vue?echarts實(shí)例項(xiàng)目商家銷量統(tǒng)計(jì)圖實(shí)現(xiàn)詳解
- Vue echarts模擬后端數(shù)據(jù)流程詳解
- vue項(xiàng)目中vue-echarts講解及常用圖表實(shí)現(xiàn)方案(推薦)
- vue中設(shè)置echarts寬度自適應(yīng)的代碼步驟
- Vue echarts畫甘特圖流程詳細(xì)講解
- Vue?Echarts實(shí)現(xiàn)實(shí)時(shí)大屏動態(tài)數(shù)據(jù)顯示
相關(guān)文章
詳解vue-router的導(dǎo)航鉤子(導(dǎo)航守衛(wèi))
這篇文章主要介紹了詳解vue-router的導(dǎo)航鉤子(導(dǎo)航守衛(wèi)),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11vue使用ElementUI時(shí)導(dǎo)航欄默認(rèn)展開功能的實(shí)現(xiàn)
這篇文章主要介紹了vue使用ElementUI時(shí)導(dǎo)航欄默認(rèn)展開功能的實(shí)現(xiàn),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-07-07Vue中正確使用Element-UI組件的方法實(shí)例
這篇文章主要給大家介紹了關(guān)于Vue中正確使用Element-UI組件的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10vue項(xiàng)目如何設(shè)置全局字體樣式font-family
這篇文章主要介紹了vue項(xiàng)目如何設(shè)置全局字體樣式font-family問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-11-11利用vue3+threejs仿iView官網(wǎng)大波浪特效實(shí)例
最近好幾個(gè)vue項(xiàng)目都是用ivew作為UI框架,所以下面這篇文章主要給大家介紹了關(guān)于如何利用vue3?+?threejs仿iView官網(wǎng)大波浪特效的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2021-12-12