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-11vue使用ElementUI時導(dǎo)航欄默認(rèn)展開功能的實現(xiàn)
這篇文章主要介紹了vue使用ElementUI時導(dǎo)航欄默認(rèn)展開功能的實現(xiàn),本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2018-07-07vue項目如何設(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