深入學習matplotlib箱線圖

一、matplotlib箱線圖代碼

箱線圖是一種用於顯示一組數據分布情況和異常值的圖表,由數值範圍、四分位數和中位數組成,便於人們觀察和比較數據組之間的差異。在matplotlib中,可以使用boxplot()函數來繪製箱線圖。

import matplotlib.pyplot as plt
import numpy as np

# 生成隨機數據
data = np.random.randn(100, 5)

# 繪製箱線圖
plt.boxplot(data)

# 顯示圖像
plt.show()

該段代碼使用numpy生成100行5列的隨機數據,然後使用boxplot()函數繪製箱線圖並顯示出來。可以看到,隨機數據的分布情況一目了然,且函數的調用非常簡單。

二、matplotlib線型有哪些

在繪製箱線圖時,matplotlib提供了多種線型供選擇,可以通過linestyle參數來設置線型。下面列舉了matplotlib常用的線型:

  • ‘-‘ : 實線
  • ‘–‘ : 虛線
  • ‘-.’ : 點劃線
  • ‘:’ : 點線

以下代碼演示了如何使用不同的線型繪製箱線圖:

import matplotlib.pyplot as plt
import numpy as np

# 生成隨機數據
data = np.random.rand(100, 5)

# 繪製箱線圖
plt.boxplot(data, linestyle='-', linewidth=1.5, color='blue')

# 顯示圖像
plt.show()

該段代碼使用’-‘線型來繪製箱線圖,將其顏色設置為藍色。可以根據需要設置線型和顏色。

三、matplotlib箱線圖製作

生成箱線圖的前提是要有數據,下面是一些生成箱線圖的常用方法:

  • 使用numpy等庫生成隨機數據
  • 讀取外部文件的數據
  • 使用pandas等數據分析庫讀取和處理數據

下面是一個從文件中讀取數據並生成箱線圖的示例:

import matplotlib.pyplot as plt
import pandas as pd

# 讀取csv文件並取出需要繪圖的數據
file_name = 'data.csv'
df = pd.read_csv(file_name)
data_list = [df.loc[df['group'] == group]['value'] for group in df['group'].unique()]

# 繪製箱線圖
plt.boxplot(data_list, labels=df['group'].unique())

# 顯示圖像
plt.show()

該段代碼從csv文件中讀取了數據,取出了需要繪製的數據,並且使用labels參數設置了箱線圖的標籤。

四、matplotlib箱線圖調整寬度

在matplotlib繪製箱線圖時,可以使用width參數來調整箱線圖的寬度,默認值為0.5。下面是一個例子:

import matplotlib.pyplot as plt
import numpy as np

# 生成隨機數據
data = np.random.rand(100, 5)

# 繪製寬度為0.2的箱線圖
plt.boxplot(data, widths=0.2)

# 顯示圖像
plt.show()

該段代碼生成了寬度為0.2的箱線圖。可以根據需要進行調整。

五、matplotlib箱線圖均值點

在箱線圖中,除了箱體、上下四分位數、最大最小值之外,還有一些獨立的點,這些點表示離群值或異常值,通常需要特別注意。除此之外,在箱線圖上還可以添加均值點,可以通過meanline參數來控制是否顯示均值線和均值點。下面是一個例子:

import matplotlib.pyplot as plt
import numpy as np

# 生成隨機數據
data = np.random.rand(100, 5)

# 繪製箱線圖並添加均值點
plt.boxplot(data, showmeans=True, meanline=True)

# 顯示圖像
plt.show()

該段代碼演示了如何繪製帶均值點的箱線圖。可以發現,均值點在圖中以特殊的形狀突出顯示,方便觀察。

六、matplotlib箱線圖可以提供哪些信息

matplotlib的箱線圖不僅提供了數據分布情況和異常值,還可以提供四分位數、最大值、最小值等多個重要指標,從而全面地描述了數據集的特徵,並非常便於數據分析和比對。

下面是一張示例圖,其中標註了matplotlib箱線圖可以提供的指標:

七、matplotlib箱線圖參數設定

matplotlib的箱線圖除了線型、線寬、顏色等基本參數外,還有一些其他可供設定的參數:(部分代碼如下)

plt.boxplot(x, notch=None, sym=None, vert=None, whis=None, positions=None, widths=None, patch_artist=None, medianprops=None, **kwargs)
  • notch: 是否繪製缺口,默認Fasle
  • sym:指定異常點的形狀,默認為+號
  • vert: 是否將箱型圖垂直擺放,默認為True
  • whis: 箱體與觸鬚的長度,默認為1.5倍的四分位差
  • positions: 指定箱線圖的位置,默認為[1,2,3,4,5…]
  • widths: 指定箱線圖的寬度,默認為0.5
  • patch_artist: 是否為盒圖添加顏色填充,默認為False
  • medianprops: 用於設置中位數的顯示方式

通過設置這些參數,可以非常靈活地控制箱線圖的各個細節部分。以下是一個具體的示例:

import matplotlib.pyplot as plt
import numpy as np

# 生成隨機數據
data = np.random.randn(100, 5)

# 設定箱體、觸鬚、異常點的形狀、顏色和粗細
boxprops = dict(linestyle='-', linewidth=1.5, color='blue')
whiskerprops = dict(linestyle='-', linewidth=1.5, color='black')
flierprops = dict(marker='o', markersize=5, markerfacecolor='red', markeredgecolor='red')

# 設定中位數的顏色
medianprops = dict(linestyle='--', linewidth=1.5, color='green')

# 繪製箱線圖並添加各種參數設置
plt.boxplot(data, boxprops=boxprops, whiskerprops=whiskerprops, flierprops=flierprops, medianprops=medianprops, showmeans=True, meanline=True)

# 顯示圖像
plt.show()

該段代碼演示了如何通過參數設置來設定箱線圖的各種細節。可以自由地修改顏色、線型、線寬和形狀等等,來滿足各種需求。

八、matplotlib數據可視化

matplotlib是一個Python的數據可視化工具包,支持多種圖表類型,包括線型圖、柱狀圖、餅圖、散點圖等等。在數據分析和機器學習領域,數據可視化具備重要的分析和解決問題的能力。

以下是一個通過matplotlib繪製柱狀圖的示例:

import matplotlib.pyplot as plt
import numpy as np

# 生成隨機數據
data = np.random.rand(10)

# 繪製柱狀圖
plt.bar(range(len(data)), data)

# 顯示圖像
plt.show()

該段代碼使用numpy生成了一組隨機數據,並使用bar()函數繪製了柱狀圖。在matplotlib中,通過修改函數的參數或使用不同的函數,可以創建多種多樣的圖表,達到生動、簡潔、直觀地展示數據的目的。

九、python matplotlib 餅圖

餅圖是一種常見的數據可視化方式,用於表示數據佔比或分布情況,非常適合於少量的分類數據呈現。在matplotlib中,可以使用pie()函數來繪製餅圖。

以下是一個簡單的餅圖示例:

import matplotlib.pyplot as plt

# 設置數據
labels = ['A', 'B', 'C', 'D', 'E', 'F']
sizes = [15, 20, 30, 25, 5, 5]

# 繪製餅圖
plt.pie(sizes, labels=labels, autopct='%1.1f%%', shadow=True, startangle=90)

# 顯示圖像
plt.show()

該段代碼使用了Python列表定義數據,可以看到函數的調用非常簡便。通過調整參數,可以實現自定義標籤、餅圖半徑、字體大小、起始角度、陰影效果、佔比數值等等。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/204662.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-07 12:18
下一篇 2024-12-07 12:18

相關推薦

  • 用Python繪製箱線圖

    箱線圖,也被稱為盒須圖或者盒式圖,是一種可以生動展示數據的統計圖表。這種圖表能夠展示出數據分布的五個特徵值:最小值、第一四分位數、中位數、第三四分位數和最大值。箱線圖能夠幫助我們直…

    編程 2025-04-29
  • Python最強大的製圖庫——Matplotlib

    Matplotlib是Python中最強大的數據可視化工具之一,它提供了海量的製圖、繪圖、繪製動畫的功能,通過它可以輕鬆地展示數據的分布、比較和趨勢。下面將從多個方面對Matplo…

    編程 2025-04-29
  • Python三大:NumPy、Pandas、matplotlib

    本文將詳細介紹三大Python數據處理及可視化庫——NumPy、Pandas以及matplotlib,為讀者提供從基礎使用到應用場景的全面掌握。 一、NumPy NumPy是Pyt…

    編程 2025-04-27
  • Python畫圖:Matplotlib的使用

    Matplotlib是Python中最常用的畫圖庫之一。它可以輕鬆地創建各種類型的圖表,包括直方圖、散點圖、線圖、餅圖等等。本文將從以下幾個方面對Matplotlib的使用進行詳細…

    編程 2025-04-27
  • 深入解析Vue3 defineExpose

    Vue 3在開發過程中引入了新的API `defineExpose`。在以前的版本中,我們經常使用 `$attrs` 和` $listeners` 實現父組件與子組件之間的通信,但…

    編程 2025-04-25
  • 深入理解byte轉int

    一、字節與比特 在討論byte轉int之前,我們需要了解字節和比特的概念。字節是計算機存儲單位的一種,通常表示8個比特(bit),即1字節=8比特。比特是計算機中最小的數據單位,是…

    編程 2025-04-25
  • 深入理解Flutter StreamBuilder

    一、什麼是Flutter StreamBuilder? Flutter StreamBuilder是Flutter框架中的一個內置小部件,它可以監測數據流(Stream)中數據的變…

    編程 2025-04-25
  • 深入探討OpenCV版本

    OpenCV是一個用於計算機視覺應用程序的開源庫。它是由英特爾公司創建的,現已由Willow Garage管理。OpenCV旨在提供一個易於使用的計算機視覺和機器學習基礎架構,以實…

    編程 2025-04-25
  • 深入了解scala-maven-plugin

    一、簡介 Scala-maven-plugin 是一個創造和管理 Scala 項目的maven插件,它可以自動生成基本項目結構、依賴配置、Scala文件等。使用它可以使我們專註於代…

    編程 2025-04-25
  • 深入了解LaTeX的腳註(latexfootnote)

    一、基本介紹 LaTeX作為一種排版軟件,具有各種各樣的功能,其中腳註(footnote)是一個十分重要的功能之一。在LaTeX中,腳註是用命令latexfootnote來實現的。…

    編程 2025-04-25

發表回復

登錄後才能評論