一周學會Matplotlib3 Python 數據可視化-繪制箱線圖(Box)

鋒哥原創的Matplotlib3 Python數據可視化視頻教程:

2026版 Matplotlib3 Python 數據可視化 視頻教程(無廢話版) 玩命更新中~_嗶哩嗶哩_bilibili

課程介紹

本課程講解利用python進行數據可視化 科研繪圖-Matplotlib,學習Matplotlib圖形參數基本設置,繪圖參數及主要函數,以及Matplotlib基礎繪圖,和Matplotlib高級繪圖。

繪制箱線圖(Box)

箱線圖(Box Plot)是一種用于展示數據分布特征的統計圖表,能清晰顯示數據的中位數、四分位數、異常值等關鍵統計量。它特別適合比較多個數據集分布情況。 箱線圖組成要素:

  1. 箱體 (Box)

    • 下邊界:第一四分位數 (Q1, 25%)

    • 上邊界:第三四分位數 (Q3, 75%)

    • 箱內橫線:中位數 (Q2, 50%)

  2. 須 (Whiskers)

    • 上限:Q3 + 1.5×IQR

    • 下限:Q1 - 1.5×IQR

    • IQR = Q3 - Q1(四分位距)

  3. 異常值 (Outliers)

    • 超出上下須范圍的數據點

plt.boxplot() 是 Matplotlib 中用于繪制箱線圖的核心函數,用于展示數據的分布特征(如中位數、四分位數、異常值等)。以下是詳細解析:

plt.boxplot(x, ? ? ? ? ? ? ? ? ? ? ? ? # 輸入數據(數組或序列的序列)notch=None, ? ? ? ? ? ? ? ?# 是否繪制缺口箱線圖(顯示中位數置信區間)sym=None, ? ? ? ? ? ? ? ? ?# 異常值的標記符號vert=None, ? ? ? ? ? ? ? ? # 是否垂直放置(True為垂直,False為水平)whis=None, ? ? ? ? ? ? ? ? # 定義須的位置(默認1.5倍IQR)positions=None, ? ? ? ? ? ?# 箱線圖的位置widths=None, ? ? ? ? ? ? ? # 箱體的寬度patch_artist=None, ? ? ? ? # 是否填充箱體顏色bootstrap=None, ? ? ? ? ? ?# 缺口箱線圖的置信區間計算方法usermedians=None, ? ? ? ? ?# 用戶指定的中位數conf_intervals=None, ? ? ? # 用戶指定的置信區間meanline=False, ? ? ? ? ? ?# 是否用線表示均值showmeans=False, ? ? ? ? ? # 是否顯示均值showcaps=True, ? ? ? ? ? ? # 是否顯示箱線圖頂端的橫線showbox=True, ? ? ? ? ? ? ?# 是否顯示箱體showfliers=True, ? ? ? ? ? # 是否顯示異常值boxprops=None, ? ? ? ? ? ? # 箱體屬性whiskerprops=None, ? ? ? ? # 須的屬性capprops=None, ? ? ? ? ? ? # 頂端橫線的屬性medianprops=None, ? ? ? ? ?# 中位線屬性meanprops=None, ? ? ? ? ? ?# 均值屬性flierprops=None, ? ? ? ? ? # 異常值屬性manage_ticks=True, ? ? ? ? # 是否自動管理刻度autorange=False, ? ? ? ? ? # 是否自動調整范圍zorder=None ? ? ? ? ? ? ? ?# 繪圖順序
)

三、核心參數詳解

  1. 數據輸入 (x)

  • 一維數組:單組數據

  • 列表的列表/數組的數組:多組數據(每組數據繪制一個箱體)

  • 字典:鍵為標簽,值為數據

  1. 箱體樣式控制

  • notch:是否繪制缺口箱線圖(顯示中位數置信區間)

  • patch_artist:True時可用boxprops填充顏色

  • widths:箱體寬度(默認0.5)

  1. 異常值處理

  • showfliers:是否顯示異常值

  • sym:異常值標記符號(默認'o')

  • whis:須的長度(默認1.5,可設為[5,95]表示百分位數)

  1. 統計量顯示

  • showmeans:顯示均值(默認False)

  • meanline:True時用橫線表示均值,False時用點表示

  1. 樣式屬性

  • boxprops:箱體屬性(如dict(color='red', facecolor='blue')

  • whiskerprops:須的屬性(如dict(linestyle='--', color='green')

  • medianprops:中位線屬性(如dict(color='black', linewidth=2)

  • flierprops:異常值屬性(如dict(marker='x', markersize=8)

我們來看一個示例:

import matplotlib
import matplotlib.pyplot as plt
import numpy as np
?
# 設置matplotlib使用黑體顯示中文
matplotlib.rcParams['font.family'] = 'Microsoft YaHei'
?
# 創建示例數據
np.random.seed(42)
data = [np.random.normal(0, std, 100) for std in range(1, 5)]
# 創建箱線圖
plt.figure(figsize=(10, 6))
?
# 繪制箱線圖
box = plt.boxplot(data,vert=True, ?# 垂直方向patch_artist=True, ?# 填充顏色tick_labels=['組1', '組2', '組3', '組4'])
?
# 設置箱子顏色
colors = ['#1f77b4', '#ff7f0e', '#2ca02c', '#d62728']
for patch, color in zip(box['boxes'], colors):patch.set_facecolor(color)patch.set_alpha(0.7) ?# 設置透明度
?
# 設置須線和異常點樣式
plt.setp(box['whiskers'], color='red', linestyle='-') ?# 箱線圖的“須”部分,即從箱子延伸出去的兩條線(上須和下須),表示數據的范圍(通常是1.5倍IQR內的數據)。
plt.setp(box['caps'], color='yellow') ?# 箱線圖須線末端的橫線,稱為“帽”。每個須有兩個帽(上須的上帽和下須的下帽)。
plt.setp(box['fliers'], marker='o', markersize=8,markerfacecolor='none', markeredgecolor='blue') ?# 箱線圖中的異常值點,即超出1.5倍IQR范圍的數據點。
plt.setp(box['medians'], color='gray', linewidth=2) ?# 箱線圖中的中位數線,即箱子中間的橫線。
?
# 添加標題和標簽
plt.title('基本箱形圖示例', fontsize=14)
plt.xlabel('數據組', fontsize=12)
plt.ylabel('值', fontsize=12)
plt.grid(axis='y', linestyle='--', alpha=0.7)
?
plt.tight_layout()
plt.show()

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

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

相關文章

4.4 vue3生命周期函數

vue3生命周期函數生命周期鉤子名稱對比表階段Vue 2 選項式 APIVue 3 組合式 API說明創建前beforeCreateonBeforeCreate(已廢棄)Vue 3 中 setup() 替代創建完成createdsetup()(替代)setup 是入口,代替 beforeCreate 和 …

無腦整合springboot2.7+nacos2.2.3+dubbo3.2.9實現遠程調用及配置中心

簡介: 好久沒有寫博客了,最近辭職了有時間進行一次分享,今天我們主要是使用單體服務springboot整合nacos實現配置中心,然后整合dubbo來實現遠程的rpc調用。如下是本地案例架構圖,生產者和消費者的配置在nacos配置中心上…

騰訊位置商業授權微信小程序逆地址解析(坐標位置描述)

微信小程序JavaScript SDK 開發指南 逆地址解析(坐標位置描述) reverseGeocoder(options:Object) 本接口提供由坐標到坐標所在位置的文字描述的轉換,輸入坐標返回地理位置信息和附近poi列表。 注:坐標系采用gcj02坐標系 options屬性說明 屬性類型必填…

3D商品展示:技術狂歡下的普及困局

當微軟推出Copilot 3D——僅需一張照片即可生成可編輯的3D模型時,業界曾歡呼“建模門檻徹底消失”。然而技術的美好愿景卻撞上現實的銅墻鐵壁:當前電商平臺3D商品加載卡頓導致用戶跳出率超60%,企業3D化滲透率仍不足34%。絢爛的技術煙花下&…

(Arxiv-2025)Stand-In:一種輕量化、即插即用的身份控制方法用于視頻生成

Stand-In:一種輕量化、即插即用的身份控制方法用于視頻生成 paper是WeChat發布在Arxiv 2025的工作 paper title:Stand-In: A Lightweight and Plug-and-Play Identity Control for Video Generation Code:鏈接 圖1:給定一張參考圖像&#xff…

數據科學與爬蟲技術學習筆記

數據科學與爬蟲技術學習筆記 一、數據科學基礎庫 1. NumPy:數值計算的基石 NumPy 是 Python 科學計算的核心庫,專為數組和矩陣操作設計,能大幅簡化循環操作,提供豐富的數學函數。 核心優勢:高效處理同類型元素的多維…

學習嵌入式之硬件——I2C

一、I2C1.定義內部集成電路的簡稱,半雙工串行同步通信,是芯片和芯片之間的通信方式;通常只有一個主機,多個從機,采用主從應答的方式上圖所示是IIC的總線的使用場景,所有掛載在IIC總線上的設備都有兩根信號線…

使用websockt

封裝websocktHooksimport { ref, onMounted, onUnmounted } from vue;/*** webSocket的Hooks* param {string} websocket鏈接地址* */ export function useWebSocket(url: string) {// 核心狀態 const data: Ref<any> ref(null);//收到websocket返回的數據const socke…

Jmeter自定義腳本

目錄 log&#xff1a;輸出類 Label&#xff1a;你自定義的組件的名稱 FileName&#xff1a;添加的腳本文件的文件名 Parameters&#xff1a;你傳入的參數&#xff0c;是一個字符串 args&#xff1a;你傳入的參數&#xff0c;是一個數組 Parameters和args的異同&#xff1…

飛算 JavaAI 電商零售場景實踐:從訂單峰值到供應鏈協同的全鏈路技術革新

目錄 一、電商核心場景的技術攻堅 1.1 分布式訂單系統的事務一致性設計 1.1.1 TCC 模式下的訂單創建流程 1.1.2 訂單狀態機的可靠流轉 1.2 高并發秒殺系統的架構設計 1.2.1 多級限流與流量削峰 1.2.2 庫存防超賣機制 1.3 智能推薦與用戶行為分析 1.3.1 用戶行為實時采…

51單片機-51單片機介紹

51單片機介紹單片機簡介什么是單片機呢&#xff1f;單片機是一種集成電路芯片&#xff0c;采用超大規模集成電路技術將中央處理器&#xff08;CPU&#xff09;、隨機存儲器&#xff08;RAM&#xff09;、只讀存儲器&#xff08;ROM&#xff09;、多種I/O口、中斷系統、定時器/計…

8月AI面試工具測評:破解規模化招聘難題

金秋校招臨近&#xff0c;企業面臨“百萬簡歷涌入VS面試官團隊告急”的典型困境。傳統線下面試效率低下、標準參差&#xff0c;難以應對短時間內爆發式的人才篩選需求。AI面試工具憑借自動化與智能化特性成為破局關鍵&#xff0c;但市面上產品良莠不齊——究竟哪款能兼顧效率與…

Debian新一代的APT軟件源配置文件格式DEB822詳解

Debian 的 DEB822 格式詳解&#xff1a;新一代 APT 源配置 DEB822 是一種基于 RFC 822 數據格式的配置文件語法&#xff0c;Debian 新一代的 APT 軟件源配置文件格式就采用了 DEB822。DEB822 格式從 Debian 11 (Bullseye) 開始被引入&#xff0c;并在 Debian 12 (Bookworm) 中成…

實戰 AI8051U 音視頻播放:USART-SPI→DMA-P2P→SPI+I2S 例程詳解

視頻P2P播放&#xff0c;時間計算&#xff1a;fps20,50ms 周期刷屏時間&#xff1a;160*80 一幀刷屏時間28.2ms幀間隔&#xff1a;50ms-28.2ms21.8ms音頻雙緩沖區交叉播放&#xff0c;利用視頻播放幀間隔加載下一個緩沖區音頻數據&#xff0c;時間計算&#xff1a;16000采樣率 …

解釋器模式C++

解釋器模式&#xff08;Interpreter Pattern&#xff09;是一種行為型設計模式&#xff0c;它用于定義一種語言的語法規則&#xff0c;并構建一個解釋器來解釋該語言中的句子。這種模式適用于需要處理固定語法規則的場景&#xff0c;如表達式解析、配置文件解析等。 解釋器模式…

debian 13 顯示中文字體 不再顯示菱形塊 終端顯示中文

找了很多坑。。其它就安裝一下中文字體即可 。 apt install ttf-wqy-zenhei 之后測試命令 fc-list &#xff1a;langzh 顯示了剛字體的路徑和中文字即成功了。 rootdebian:~# dpkg-reconfigure locales 以上命令配置中文語言。 debian 12.11 安裝 MySQL 下載配置文件 &am…

51單片機-驅動蜂鳴器模塊教程

本章概述思維導圖&#xff1a; 51單片機驅動蜂鳴器模塊教程 蜂鳴器簡介 蜂鳴器是一種將電信號轉換為聲音信號的電子元件&#xff0c;廣泛應用于報警、提示、通知等場景。其核心原理基于壓電效應或電磁感應&#xff1a;因此可分為兩種類型蜂鳴器&#xff1a;壓電式蜂鳴器和電磁…

常用Linux指令:Java/MySQL/Tomcat/Redis/Nginx運維指南

一、基礎Linux指令1. 文件與目錄操作ls -lh # 查看文件詳情(人類可讀格式) pwd # 顯示當前目錄路徑 cd /path # 切換目錄 mkdir dirname # 創建目錄 rm -rf dirname # 強制刪除目錄 cp -r src dest # 遞歸復制目錄 mv old new # 移動/重命…

小紅書帖子評論的nodejs爬蟲腳本

從小紅書上爬取評論&#xff0c;但是目前還不能完全爬取子評論&#xff0c;使用GPT沒能解決這個問題。后續博主可能會改進。或者如果你懂的話&#xff0c;可以在博主代碼基礎上改進。需要安裝nodejs軟件&#xff0c;部署環境變量。博主是在pycharm中運行的。代碼無套路獲取。自…

【iOS】多線程原理

目錄 前言 基本概念及原理 線程、進程與隊列 線程的定義&#xff1a; 進程的定義&#xff1a; 線程與進程之間的聯系與區別&#xff1a; 線程和runloop的關系 影響任務執行速度的因素 多線程 多線程生命周期 線程池的原理 iOS中多線程的實現方式 線程安全問題 互斥…