【Vue3】ECharts圖表案例

官方參考:Examples - Apache ECharts

1、創建工程

npm create vite@latest

npm init vue@latest

設置如下?

2、下載依賴集運行項目

cd vue-echarts-demo
npm install
npm install echarts
npm run dev

3、編寫核心代碼

創建src\components\BarView.vue文件,內容如下:

<template><!-- 圖表容器:設置寬度和高度 --><div ref="chartRef" style="width: 1000px; height: 400px;"></div>
</template><script setup>
// 引入 Vue 的 Composition API
import { ref, onMounted, onBeforeUnmount } from 'vue'
// 引入 echarts 庫
import * as echarts from 'echarts'// 獲取 DOM 元素的引用(用于初始化圖表)
const chartRef = ref(null)
// 存儲 ECharts 實例
let chartInstance = null// 初始化圖表的方法
const initChart = () => {if (chartRef.value) {// 初始化 echarts 實例chartInstance = echarts.init(chartRef.value)// 配置項const option = {title: {text: 'Vue3柱狀圖示例' // 圖表標題},tooltip: {}, // 默認提示框配置legend: {data: ['銷量'] // 圖例名稱},xAxis: {data: ['襯衫', '羊毛衫', '雪紡衫', '褲子', '高跟鞋', '襪子'] // X 軸數據},yAxis: {}, // Y 軸默認配置series: [{name: '銷量', // 系列名稱type: 'bar', // 圖表類型為柱狀圖data: [5, 20, 36, 10, 10, 20] // 數據值}]}// 使用配置項渲染圖表chartInstance.setOption(option)}
}// 窗口大小變化時調整圖表尺寸
const resizeChart = () => {chartInstance?.resize()
}// 組件掛載后執行初始化
onMounted(() => {initChart()// 監聽窗口大小變化事件以支持響應式window.addEventListener('resize', resizeChart)
})// 組件卸載前清理資源,防止內存泄漏
onBeforeUnmount(() => {window.removeEventListener('resize', resizeChart)chartInstance?.dispose() // 銷毀 echarts 實例
})
</script>

編寫src\components\PieView.vue代碼

<template><!-- 圖表容器:設置寬度和高度 --><div ref="chartRef" style="width: 1000px; height: 400px;"></div>
</template><script setup>
// 引入 Vue 的 Composition API
import { ref, onMounted, onBeforeUnmount } from 'vue'
// 引入 echarts 庫
import * as echarts from 'echarts'// 獲取 DOM 元素的引用(用于初始化圖表)
const chartRef = ref(null)
// 存儲 ECharts 實例
let chartInstance = null// 初始化圖表的方法
const initChart = () => {if (chartRef.value) {// 初始化 echarts 實例chartInstance = echarts.init(chartRef.value)// 配置項
var option;option = {title: {text: 'Referer of a Website',subtext: 'Fake Data',left: 'center'},tooltip: {trigger: 'item'},legend: {orient: 'vertical',left: 'left'},series: [{name: 'Access From',type: 'pie',radius: '50%',data: [{ value: 1048, name: 'Search Engine' },{ value: 735, name: 'Direct' },{ value: 580, name: 'Email' },{ value: 484, name: 'Union Ads' },{ value: 300, name: 'Video Ads' }],emphasis: {itemStyle: {shadowBlur: 10,shadowOffsetX: 0,shadowColor: 'rgba(0, 0, 0, 0.5)'}}}]
};// 使用配置項渲染圖表chartInstance.setOption(option)}
}// 窗口大小變化時調整圖表尺寸
const resizeChart = () => {chartInstance?.resize()
}// 組件掛載后執行初始化
onMounted(() => {initChart()// 監聽窗口大小變化事件以支持響應式window.addEventListener('resize', resizeChart)
})// 組件卸載前清理資源,防止內存泄漏
onBeforeUnmount(() => {window.removeEventListener('resize', resizeChart)chartInstance?.dispose() // 銷毀 echarts 實例
})
</script>

4、修改App代碼

src\App.vue內容修改如下

<script setup>
import BarView from './components/BarView.vue';
import PieView from './components/PieView.vue';
</script><template><BarView /><PieView></PieView>
</template><style scoped>
.logo {height: 6em;padding: 1.5em;will-change: filter;transition: filter 300ms;
}
.logo:hover {filter: drop-shadow(0 0 2em #646cffaa);
}
.logo.vue:hover {filter: drop-shadow(0 0 2em #42b883aa);
}
</style>

5、查看結果?

瀏覽器輸入:http://localhost:5173/?

參考資料:

Vue 3 搭配 ECharts:實現復雜數據圖表展示_vue3 echarts-CSDN博客

Vue 3 搭配 ECharts:實現復雜數據圖表展示_vue3 echarts-CSDN博客

極致呈現系列之:Vue3中使用Echarts圖表初體驗-騰訊云開發者社區-騰訊云

https://juejin.cn/post/7493433637830148106

https://www.51cto.com/article/803996.html

https://zhuanlan.zhihu.com/p/1910642270039942543

前端必學!全面解讀 Tailwind CSS配置與使用Tailwind CSS,前端開發提效神器。從配置到實戰,全面解讀 - 掘金

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/90114.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/90114.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/90114.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

二分查找----2.搜索二維矩陣

題目鏈接 /** 方案一: 每行都是遞增的,對每行進行二分,逐行查找;效率不高,每次搜索只能控制列無法兼顧到行,行被固定存在不必要的搜索 方案二: 從右上或左下頂點出發,以右上為例,向左迭代列減小,向下迭代行增大;效率更高避免重復搜索 */ class Solution {/**方案一: 每行都是…

2025.7.23

flen&#xff08;&#xff09;這個函數計算到的文件大小為0&#xff0c;明天解決 原因是路徑錯誤&#xff0c;寫成了CONFIG_ROOT_PATH"/music/test2.mp3,但是也沒報錯&#xff0c;打開文件也成功&#xff0c;所以就沒有懷疑到路徑方面來

大致自定義文件I/O庫函數的實現詳解(了解即可)

目錄 一、mystdio.h 代碼思路分析 二、mystdio.c 1. 輔助函數 BuyFile 2. 文件打開函數 MyFopen 3. 文件關閉函數 MyFclose 4. 數據寫入函數 MyFwrite 1、memcpy(file->outbuffer file->bufferlen, str, len); 2、按位與&#xff08;&&#xff09;運算的作…

Zipformer

Zipformer首先&#xff0c;Conv-Embed 將輸入的 100Hz 的聲學特征下采樣為 50 Hz 的特征序列&#xff1b;然后&#xff0c;由 6 個連續的 encoder stack 分別在 50Hz、25Hz、12.5Hz、6.25Hz、12.5Hz 和 25Hz 的采樣率下進行時域建模。除了第一個 stack 外&#xff0c;其他的 st…

SpringMVC快速入門之請求與響應

SpringMVC快速入門之請求與響應一、請求處理&#xff1a;獲取請求參數1.1 普通參數獲取&#xff08;RequestParam&#xff09;1.1.1 基礎用法1.1.2 可選參數與默認值1.2 路徑變量&#xff08;PathVariable&#xff09;1.3 表單數據綁定到對象1.3.1 定義實體類1.3.2 綁定對象參數…

【Mysql】 Mysql zip解壓版 Win11 安裝備忘

1. 官網 MySQL :: MySQL Community Downloads 選擇 MySQL Community Server 選擇Archives 選擇 8.0版本 MySQL :: Download MySQL Community Server (Archived Versions) 1. 普通版本&#xff08;推薦&#xff09; 名稱&#xff1a;Windows (x86, 64-bit), ZIP Archive 文件…

Web3面試題

1.在使用 Ethers.js 對接 MetaMask 錢包時&#xff0c;如何檢測用戶賬戶切換的情況&#xff1f;請簡述實現思路。 答案&#xff1a;可通過監聽accountsChanged事件來檢測。當用戶切換賬戶時&#xff0c;MetaMask 會觸發該事件&#xff0c;在事件回調函數中可獲取新的賬戶地址&…

uni-app動態獲取屏幕邊界到安全區域距離的完整教程

目錄 一、什么是安全區域&#xff1f; 二、獲取安全區域距離的核心方法 三、JavaScript動態獲取安全區域距離 1. 核心API 2. 完整代碼示例 3. 關鍵點說明 四、CSS環境變量適配安全區域 1. 使用 env() 和 constant() 3. 注意事項 五、不同平臺的適配策略 1. H5 端 2…

ZKmall開源商城微服務架構實戰:Java 商城系統的模塊化拆分與通信之道

在電商業務高速增長的今天&#xff0c;傳統單體商城系統越來越力不從心 —— 代碼堆成一團、改一點牽一片、想加功能得大動干戈&#xff0c;根本扛不住高并發、多場景的業務需求。微服務架構卻能破這個局&#xff1a;把系統拆成一個個能獨立部署的小服務&#xff0c;每個服務專…

ROS 與 Ubuntu 版本的對應關系

ROS 作為一套用于構建機器人應用的開源框架&#xff0c;其開發和運行高度依賴 Ubuntu 等 Linux 發行版&#xff0c;尤其是 Ubuntu 因其廣泛的兼容性和社區支持&#xff0c;成為了 ROS 最主流的運行平臺。 一、ROS 與 Ubuntu 版本的對應關系&#xff08;截至 2025 年&#xff0c…

GPT-4o mini TTS:領先的文本轉語音技術

什么是 GPT-4o mini TTS&#xff1f; GPT-4o mini TTS 是 OpenAI 推出的全新一代文本轉語音&#xff08;TTS&#xff09;技術&#xff0c;能夠以自然、流暢的方式將普通文本轉換為語音。依托先進的神經網絡架構&#xff0c;GPT-4o mini TTS 在語音合成中避免了傳統 TTS 的生硬…

Git下載全攻略

目標讀者初學者或有經驗的開發者不同操作系統用戶&#xff08;Windows、macOS、Linux&#xff09;下載前的準備確認系統版本和位數&#xff08;32-bit/64-bit&#xff09;檢查網絡環境是否穩定確保有足夠的磁盤空間Windows系統下載Git訪問Git官方網站&#xff08;https://git-s…

ADAS域控軟件架構-網絡管理狀態與喚醒機制

1. 狀態介紹: Sleep Mode:總線睡眠模式,控制器不發送應用報文和網絡管理報文。 Pre-Sleep Mode:準備總線睡眠模式,控制器不發送應用報文和網絡管理報文。 Ready Sleep Mode:就緒睡眠模式,系統發送應用報文但是不發送網絡管理報文。 Normal Operation mode:正常工作模式…

pytest簡單使用和生成測試報告

目錄 1. 基本使用 1--安裝 2--pytest書寫規則 3--為pycharm設置 以 pytest的方式運行 4--setup和teardown 5--setup_class和teardown 2. pytest生成測試報告 基本使用 安裝 pytest文檔地址 pytest documentation pip install pytest點擊pycharm左邊的控制臺按鈕 輸入pip inst…

Spring Boot 第一天知識匯總

一、Spring Boot 是什么&#xff1f;簡單說&#xff0c;Spring Boot 是簡化 Spring 應用開發的框架 —— 它整合了整個 Spring 技術棧&#xff0c;提供了 “一站式” J2EE 開發解決方案。核心優點&#xff1a;快速創建獨立運行的 Spring 項目&#xff0c;無需繁瑣配置&#xff…

MySql主從部署

MySql主從部署 1、操作環境 硬件環境&#xff1a;香橙派5 aarch64架構 軟件環境&#xff1a;Ubuntu 22.04.3 LTS 軟件版本&#xff1a;mysql-8.0.42 操作方式&#xff1a;mysql_1,mysql_2容器 主節點&#xff1a;mysql_1 啟動命令&#xff1a;docker run --name mysql_master \…

Redis——Redis進階命令集詳解(下)

本文詳細介紹了Redis一些復雜命令的使用&#xff0c;包括Redis事務相關命令&#xff0c;如MULTI、EXEC、DISCARD 和 WATCH ,發布訂閱操作命令&#xff0c;如PUBLISH 、SUBSCRIBE 、PSUBSCRIBE ,BitMap操作命令&#xff0c;如SETBIT、GETBIT、BITCOUNT、BITOP&#xff0c;HyperL…

C#使用socket報錯 System.Net.Sockets.SocketException:“在其上下文中,該請求的地址無效。

bind: 在其上下文中&#xff0c;該請求的地址無效。問題定位 程序中運行socket服務端程序時&#xff0c;綁定的IP地址無效&#xff0c;即請求的IP地址在你的機子上找不到。原因有以下幾種可能&#xff1a; 1&#xff09;server端綁定的IP地址不是本機的IP地址。 2&#xff09;之…

計算機底層入門 05 匯編學習環境通用寄存器內存

2.3 匯編學習環境我們通過上一章筆記&#xff0c;得知 計算機好像 只會通過位運算 進行 數字的加法。 而機器語言的魅力就是 位運算&#xff0c;解析規則。它們也都是通過 電路 來進行實現的。這就是 計算機最底層的本質了&#xff01;&#xff01;&#xff01; 匯編語言 所謂的…

Java學習---Spring及其衍生(上)

在 Java 開發領域&#xff0c;Spring 生態占據著舉足輕重的地位。從最初的 Spring 框架到后來的 SpringBoot、SpringMVC 以及 SpringCloud&#xff0c;每一個組件都在不同的場景下發揮著重要作用。本文將深入探討這幾個核心組件&#xff0c;包括它們的定義、原理、作用、優缺點…