ECharts 快速入門

文章目錄

    • 1. 引入 ECharts
    • 2. 初始化 ECharts 實例
    • 3. 配置圖表選項
    • 4. 使用配置項生成圖表
    • 5. 最常用的幾種圖形
      • 5.1 柱狀圖(Bar Chart)
      • 5.2 折線圖(Line Chart)
      • 5.3 餅圖(Pie Chart)
      • 5.4 散點圖(Scatter Chart)
    • 6. 更多配置項
      • 6.1 顏色主題
      • 6.2 數據縮放
      • 6.3 工具欄
    • 7. 參考文檔


ECharts 是一個由百度開源的基于 JavaScript 的數據可視化圖表庫,它提供了豐富的圖表類型、交互功能和主題樣式,方便用戶快速創建各種數據可視化圖表,并在商業和開源項目中廣泛應用。

本文內容根據 ECharts 官方文檔 整理。

下面將介紹如何使用 ECharts 創建最常用的幾種圖表:柱狀圖、折線圖、餅圖和散點圖。

1. 引入 ECharts

在使用 ECharts 之前,首先需要在 HTML 文件中引入 ECharts 的 JavaScript 文件。

可以選擇通過 CDN 引入或者下載 ECharts 文件并在本地引入。

使用 CDN:

<!DOCTYPE html>
<html>
<head><meta charset="utf-8"><title>ECharts</title><script src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script> <!-- 引入 ECharts 庫 -->
</head>
<body><div id="main" style="width: 600px;height:400px;"></div> <!-- 定義一個用于顯示圖表的容器 --><script>// 在這里編寫您的 ECharts 代碼</script>
</body>
</html>

2. 初始化 ECharts 實例

在 HTML 中創建一個容器,然后在 JavaScript 中初始化 ECharts 實例。

<div id="main" style="width: 600px;height:400px;"></div> <!-- 創建一個用于顯示圖表的 div 容器 -->
<script>// 初始化 ECharts 實例,并將其綁定到上述 div 容器var chart = echarts.init(document.getElementById('main')); 
</script>

3. 配置圖表選項

定義圖表的配置和數據。

ECharts 的配置項非常豐富,以下是一個簡單的示例:

var option = {// 圖表的標題配置title: {text: 'ECharts 示例圖表'  // 設置圖表的標題文本},// 提示框組件配置,用于顯示數據詳細信息tooltip: {},  // 默認配置,啟用提示框組件// 圖例組件配置,用于顯示圖例數據legend: {data: ['銷量']  // 圖例數據,顯示在圖表上方的標簽},// X 軸配置xAxis: {data: ['襯衫', '羊毛衫', '雪紡衫', '褲子', '高跟鞋', '襪子']  // X 軸的數據項},// Y 軸配置,使用默認配置yAxis: {},// 數據系列配置series: [{name: '銷量',  // 系列的名稱type: 'bar',  // 圖表類型為柱狀圖data: [5, 20, 36, 10, 10, 20]  // 數據項,對應于 X 軸上的各個類別}]
};

4. 使用配置項生成圖表

將配置項設置給 ECharts 實例以生成圖表。

// 使用 setOption 方法將配置項設置給 ECharts 實例,生成圖表
chart.setOption(option); 

5. 最常用的幾種圖形

5.1 柱狀圖(Bar Chart)

柱狀圖是一種非常常用的圖表類型,適用于比較不同類別的數據。

下面是一個完整的柱狀圖示例:

<!DOCTYPE html>
<html>
<head><meta charset="utf-8"><title>柱狀圖</title><!-- 引入 ECharts 庫 --><script src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script>
</head>
<body><!-- 創建一個用于顯示柱狀圖的 div 容器,設置寬度為 600 像素,高度為 400 像素 --><div id="barChart" style="width: 600px;height:400px;"></div> <script>// 初始化 ECharts 實例,并將其綁定到上述 div 容器var barChart = echarts.init(document.getElementById('barChart'));// 定義柱狀圖的配置選項var barOption = {// 配置圖表的標題title: {text: '柱狀圖示例'  // 設置標題文本為“柱狀圖示例”},// 配置提示框組件,默認配置即可顯示數據詳細信息tooltip: {},  // 配置圖例legend: {data: ['銷量']  // 圖例數據,顯示為“銷量”},// 配置 X 軸xAxis: {data: ['襯衫', '羊毛衫', '雪紡衫', '褲子', '高跟鞋', '襪子']  // X 軸數據,表示不同種類的商品},// 配置 Y 軸,默認配置yAxis: {},  // 配置數據系列series: [{name: '銷量',  // 系列名稱為“銷量”type: 'bar',  // 圖表類型為柱狀圖data: [5, 20, 36, 10, 10, 20]  // 數據項,表示不同商品的銷量}]};// 使用 setOption 方法將配置項設置給 ECharts 實例,生成圖表barChart.setOption(barOption);</script>
</body>
</html>

5.2 折線圖(Line Chart)

折線圖用于顯示數據的變化趨勢,特別適合展示時間序列數據。

以下是一個折線圖的完整示例:

<!DOCTYPE html>
<html>
<head><meta charset="utf-8"><title>折線圖</title><!-- 引入 ECharts 庫 --><script src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script>
</head>
<body><!-- 創建一個用于顯示折線圖的 div 容器,設置寬度為 600 像素,高度為 400 像素 --><div id="lineChart" style="width: 600px;height:400px;"></div> <script>// 初始化 ECharts 實例,并將其綁定到上述 div 容器var lineChart = echarts.init(document.getElementById('lineChart'));// 定義折線圖的配置選項var lineOption = {// 配置圖表的標題title: {text: '折線圖示例'  // 設置標題文本為“折線圖示例”},// 配置提示框組件,默認配置即可顯示數據詳細信息tooltip: {},  // 配置圖例legend: {data: ['溫度']  // 圖例數據,顯示為“溫度”},// 配置 X 軸xAxis: {type: 'category',  // X 軸類型:類目軸data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日']  // X 軸數據,表示一周中的七天},// 配置 Y 軸yAxis: {type: 'value'  // Y 軸類型:數值軸},// 配置數據系列series: [{name: '溫度',  // 系列名稱為“溫度”type: 'line',  // 圖表類型為折線圖data: [11, 11, 15, 13, 12, 13, 10]  // 數據項,表示一周中每天的溫度}]};// 使用 setOption 方法將配置項設置給 ECharts 實例,生成圖表lineChart.setOption(lineOption);</script>
</body>
</html>

5.3 餅圖(Pie Chart)

餅圖用于顯示各部分在總量中的占比情況。

以下是一個餅圖的完整示例:

<!DOCTYPE html>
<html>
<head><meta charset="utf-8"><title>餅圖</title><!-- 引入 ECharts 庫 --><script src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script>
</head>
<body><!-- 創建一個用于顯示餅圖的 div 容器,設置寬度為 600 像素,高度為 400 像素 --><div id="pieChart" style="width: 600px;height:400px;"></div> <script>// 初始化 ECharts 實例,并將其綁定到上述 div 容器var pieChart = echarts.init(document.getElementById('pieChart'));// 定義餅圖的配置選項var pieOption = {// 配置圖表的標題title: {text: '餅圖示例',  // 設置標題文本為“餅圖示例”left: 'center'  // 標題位置:居中},// 配置提示框組件,默認配置即可顯示數據詳細信息tooltip: {trigger: 'item'  // 提示框觸發類型:數據項觸發},// 配置圖例legend: {orient: 'vertical',  // 圖例布局方式:垂直left: 'left'  // 圖例位置:左側},// 配置數據系列series: [{name: '訪問來源',  // 系列名稱為“訪問來源”type: 'pie',  // 圖表類型為餅圖radius: '50%',  // 餅圖半徑為 50%data: [  // 數據項{value: 1048, name: '搜索引擎'},  // 搜索引擎的訪問量{value: 735, name: '直接訪問'},  // 直接訪問的訪問量{value: 580, name: '郵件營銷'},  // 郵件營銷的訪問量{value: 484, name: '聯盟廣告'},  // 聯盟廣告的訪問量{value: 300, name: '視頻廣告'}  // 視頻廣告的訪問量],// 配置高亮樣式emphasis: {itemStyle: {shadowBlur: 10,  // 陰影模糊大小shadowOffsetX: 0,  // 陰影水平方向偏移shadowColor: 'rgba(0, 0, 0, 0.5)'  // 陰影顏色}}}]};// 使用 setOption 方法將配置項設置給 ECharts 實例,生成圖表pieChart.setOption(pieOption);</script>
</body>
</html>

5.4 散點圖(Scatter Chart)

散點圖用于顯示兩個變量之間的關系。

以下是一個散點圖的完整示例:

<!DOCTYPE html>
<html>
<head><meta charset="utf-8"><title>散點圖</title><!-- 引入 ECharts 庫 --><script src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script>
</head>
<body><!-- 創建一個用于顯示散點圖的 div 容器,設置寬度為 600 像素,高度為 400 像素 --><div id="scatterChart" style="width: 600px;height:400px;"></div> <script>// 初始化 ECharts 實例,并將其綁定到上述 div 容器var scatterChart = echarts.init(document.getElementById('scatterChart'));// 定義散點圖的配置選項var scatterOption = {// 配置圖表的標題title: {text: '散點圖示例'  // 設置標題文本為“散點圖示例”},// 配置提示框組件,默認配置即可顯示數據詳細信息tooltip: {},  // 配置 X 軸xAxis: {},  // 配置 Y 軸yAxis: {},  // 配置數據系列series: [{symbolSize: 20,  // 數據點大小設置為20data: [  // 數據項[10.0, 8.04],[8.0, 6.95],[13.0, 7.58],[9.0, 8.81],[11.0, 8.33],[14.0, 9.96],[6.0, 7.24],[4.0, 4.26],[12.0, 10.84],[7.0, 4.82],[5.0, 5.68]],type: 'scatter'  // 圖表類型為散點圖}]};// 使用 setOption 方法將配置項設置給 ECharts 實例,生成圖表scatterChart.setOption(scatterOption);</script>
</body>
</html>

6. 更多配置項

ECharts 提供了豐富的配置項來定制圖表。

以下是一些常見配置項的示例:

6.1 顏色主題

通過 color 屬性可以自定義圖表的顏色主題:

var option = {color: ['#3398DB'],  // 自定義顏色主題...
};

6.2 數據縮放

通過 dataZoom 可以實現圖表的數據縮放功能:

var option = {dataZoom: [{type: 'slider',  // 縮放類型:滑動條start: 10,  // 縮放起始位置 end: 60  // 縮放結束位置}],...
};

6.3 工具欄

通過 toolbox 可以添加工具欄,包括導出圖片等功能:

var option = {toolbox: {feature: {saveAsImage: {}  // 保存為圖片的工具}},...
};

7. 參考文檔

本文涵蓋了 ECharts 的基本使用方法和常見圖表類型的創建。

想要了解更多關于 ECharts 的詳細配置和高級功能,請訪問 ECharts 官方文檔。

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

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

相關文章

如何完成域名解析驗證

一&#xff1a;什么是DNS解析&#xff1a; DNS解析是互聯網上將人類可讀的域名&#xff08;如www.example.com&#xff09;轉換為計算機可識別的IP地址&#xff08;如192.0.2.1&#xff09;的過程&#xff0c;大致遵循以下步驟&#xff1a; 查詢本地緩存&#xff1a;當用戶嘗…

Linux內核 -- 多線程之完成量completion的使用

Linux Kernel Completion 使用指南 在Linux內核編程中&#xff0c;completion是一個用于進程同步的機制&#xff0c;常用于等待某個事件的完成。它提供了一種簡單的方式&#xff0c;讓一個線程等待另一個線程完成某項任務。 基本使用方法 初始化 completion結構需要在使用之…

順序串算法庫構建

學習賀利堅老師順序串算法庫 數據結構之自建算法庫——順序串_創建順序串s1,創建順序串s2-CSDN博客 本人詳細解析博客 串的概念及操作_串的基本操作-CSDN博客 版本更新日志 V1.0: 在賀利堅老師算法庫指導下, 結合本人詳細解析博客思路基礎上,進行測試, 加入異常彈出信息 v1.0補…

已解決java.awt.geom.NoninvertibleTransformException:在Java2D中無法逆轉的轉換的正確解決方法,親測有效!!!

已解決java.awt.geom.NoninvertibleTransformException&#xff1a;在Java2D中無法逆轉的轉換的正確解決方法&#xff0c;親測有效&#xff01;&#xff01;&#xff01; 目錄 問題分析 出現問題的場景 報錯原因 解決思路 解決方法 1. 檢查縮放因子 修改后的縮放變換 …

關鍵路徑——C語言(理論)

關鍵路徑&#xff0c;是項目網絡中從起始事件到終止事件的最長路徑&#xff0c;決定了項目的最短完成時間。 關鍵路徑中的任務沒有任何可調整的余地&#xff0c;如果任何一個任務被延遲&#xff0c;整個項目的完成時間也會被延遲。 假設我們現在有一個圖&#xff1a;把圖的邊…

node編譯打包Error: error:0308010C:digital envelope routines::unsupported

問題描述&#xff1a; 報錯&#xff1a;Error: error:0308010C:digital envelope routines::unsupported 報錯原因&#xff1a; 主要是因為 nodeJs V17 版本發布了 OpenSSL3.0 對算法和秘鑰大小增加了更為嚴格的限制&#xff0c;nodeJs v17 之前版本沒影響&#xff0…

【CH32V305FBP6】USBD HS 虛擬串口分析

文章目錄 前言分析端點 0USBHS_UIS_TOKEN_OUT 端點 2USBHS_UIS_TOKEN_OUTUSBHS_UIS_TOKEN_IN 前言 虛擬串口&#xff0c;端口 3 單向上報&#xff0c;端口 2 雙向收發。 分析 端點 0 USBHS_UIS_TOKEN_OUT 設置串口參數&#xff1a; 判斷 USBHS_SetupReqCode CDC_SET_LIN…

玩轉HarmonyOS NEXT之配置文件篇

配置文件概述 本文以Stage模型為例&#xff0c;詳細介紹了HarmonyOS NEXT應用的各種配置文件&#xff0c;這些配置文件會向編譯工具、操作系統和應用市場提供應用的基本信息。 在基于Stage模型開發的應用項目代碼下&#xff0c;都存在一個app.json5的配置文件、以及一個或者多…

從零開始實現大語言模型(一):概述

1. 前言 大家好&#xff0c;我是何睿智。我現在在做大語言模型相關工作&#xff0c;我用業余時間寫一個專欄&#xff0c;給大家講講如何從零開始實現大語言模型。 從零開始實現大語言模型是了解其原理及領域大語言模型實現路徑的最好方法&#xff0c;沒有之一。已有研究證明&…

《昇思25天學習打卡營第07天|函數式自動微分》

函數式自動微分 環境配置 # 實驗環境已經預裝了mindspore2.2.14&#xff0c;如需更換mindspore版本&#xff0c;可更改下面mindspore的版本號 !pip uninstall mindspore -y !pip install -i https://pypi.mirrors.ustc.edu.cn/simple mindspore2.2.14 import numpy as np imp…

Windows10錄屏,教你3個方法,簡單快速錄屏

“我的電腦系統是Windows10的系統&#xff0c;今晚要進行線上開會&#xff0c;但我實在有事沒辦法參加會議&#xff0c;想把會議的內容錄制下來方便我后續觀看。但卻找不到電腦錄屏功能在哪里打開&#xff1f;求助一下&#xff0c;誰能幫幫我&#xff1f;” 在數字化時代&…

mysql 命令 —— 查看表信息(show table status)

查詢表信息&#xff0c;如整個表的數據量大小、表的索引占用空間大小等 1、查詢某個庫下面的所有表信息&#xff1a; SHOW TABLE STATUS FROM your_database_name;2、查詢指定的表信息&#xff1a; SHOW TABLE STATUS LIKE your_table_name;如&#xff1a;Data_length 顯示表…

閑聊 .NET Standard

前言 有時候&#xff0c;我們從 Nuget 下載第三方包時&#xff0c;會看到這些包的依賴除了要求 .NET FrameWork、.NET Core 等的版本之外&#xff0c;還會要求 .NET Standard 的版本&#xff0c;比如這樣&#xff1a; 這個神秘的 .NET Standard 是什么呢&#xff1f; .NET St…

【算法】字母異位詞分組

題目&#xff1a;字母異位詞分組 給你一個字符串數組&#xff0c;請你將 字母異位詞 組合在一起。可以按任意順序返回結果列表。 字母異位詞 是由重新排列源單詞的所有字母得到的一個新單詞。 示例 1: 輸入: strs [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”] …

從零開始搭建spring boot多模塊項目

一、搭建父級模塊 1、打開idea,選擇file–new–project 2、選擇Spring Initializr,選擇相關java版本,點擊“Next” 3、填寫父級模塊信息 選擇/填寫group、artifact、type、language、packaging(后面需要修改)、java version(后面需要修改成和第2步中版本一致)。點擊“…

【0300】Postgres內核動態哈希表實現機制(1)

相關文章&#xff1a; 【0299】Postgres內核之哈希表&#xff08;Hash Tables&#xff09; 0 概述 在【0299】Postgres內核之哈希表&#xff08;Hash Tables&#xff09;一文中&#xff0c;講解了哈希表的作用、實現、優缺點等特性。本文開始&#xff0c;將詳細分析Postgres內…

MySQL之應用層優化(三)

應用層優化 應用層緩存 2.本地共享內存緩存 這種緩存一般是中等大小(幾個GB)&#xff0c;快速&#xff0c;難以在多臺機器間同步。它們對小型的半靜態位數據比較合適。例如每個州的城市列表&#xff0c;分片數據存儲的分區函數(映射表)&#xff0c;或者使用存活時間(TTL)策略…

記錄一次Chrome瀏覽器自動排序ajax請求的JSON數據問題

文章目錄 1.前言2. 為什么會這樣&#xff1f;3.如何解決&#xff1f; 1.前言 作者作為新人入職的第一天&#xff0c;mentor給了一個維護公司運營平臺的小需求&#xff0c;具體需求是根據運營平臺的某個管理模塊所展示記錄的某些字段對展示記錄做排序。 第一步&#xff1a; myb…

工業觸摸一體機優化MES應用開發流程

工業觸摸一體機在現代工業生產中扮演著至關重要的角色&#xff0c;它集成了智能觸摸屏和工業計算機的功能&#xff0c;廣泛應用于各種生產場景中。而制造執行系統&#xff08;MES&#xff09;作為工業生產管理的重要工具&#xff0c;對于提高生產效率、降低成本、優化資源利用具…

力扣hot100-普通數組

文章目錄 題目&#xff1a;最大子數組和方法1 動態規劃方法2 題目&#xff1a;合并區間題解 題目&#xff1a;最大子數組和 原題鏈接&#xff1a;最大子數組和 方法1 動態規劃 public class T53 {//動態規劃public static int maxSubArray(int[] nums) {if (nums.length 0…