專欄導(dǎo)讀
? 作者簡介:i阿極,CSDN 數(shù)據(jù)分析領(lǐng)域優(yōu)質(zhì)創(chuàng)作者,專注于分享python數(shù)據(jù)分析領(lǐng)域知識。
? 本文錄入于《數(shù)據(jù)分析之道》,本專欄針對大學(xué)生、初級數(shù)據(jù)分析工程師精心打造,對python基礎(chǔ)知識點(diǎn)逐一擊破,不斷學(xué)習(xí),提升自我。
? 訂閱后,可以閱讀《數(shù)據(jù)分析之道》中全部文章內(nèi)容,包含python基礎(chǔ)語法、數(shù)據(jù)結(jié)構(gòu)和文件操作,科學(xué)計算,實(shí)現(xiàn)文件內(nèi)容操作,實(shí)現(xiàn)數(shù)據(jù)可視化等等。
? 其他專欄:《數(shù)據(jù)分析案例》 ,《機(jī)器學(xué)習(xí)案例》??????如果覺得文章不錯或能幫助到你學(xué)習(xí),可以點(diǎn)贊??收藏??評論??+關(guān)注哦!??????
??????如果有小伙伴需要數(shù)據(jù)集和學(xué)習(xí)交流,文章下方有交流學(xué)習(xí)區(qū)!一起學(xué)習(xí)進(jìn)步!??
1、Matplotlib箱線圖boxplot()基本語法
箱線圖(Box Plot)是一種用于顯示數(shù)據(jù)分布和異常值的可視化方法。它展示了一組數(shù)據(jù)的五個統(tǒng)計量:最小值(minimum)、第一四分位數(shù)(lower quartile)、中位數(shù)(median)、第三四分位數(shù)(upper quartile)和最大值(maximum)。箱線圖還可以顯示異常值(outliers)和數(shù)據(jù)的分布情況。
Matplotlib庫提供了繪制箱線圖的函數(shù),其基本語法如下:
plt.boxplot(x, notch=None, sym=None, vert=None, whis=None, positions=None, widths=None,
patch_artist=None, meanline=None, showmeans=None, showcaps=None, showbox=None,
showfliers=None, boxprops=None, labels=None, flierprops=None, medianprops=None,
meanprops=None, capprops=None, whiskerprops=None)
下面是一些常用參數(shù)的解釋:
- x: 必需參數(shù),要繪制箱線圖的數(shù)據(jù),可以是一個數(shù)組、一個或多個列表、或一個二維數(shù)組。
- notch: 可選參數(shù),控制箱體是否帶缺口,默認(rèn)值為False。
- sym: 可選參數(shù),指定異常值的標(biāo)記符號,默認(rèn)值為None。
- vert: 可選參數(shù),控制箱線圖的方向,可以是垂直(True)或水平(False),默認(rèn)值為True。
- whis: 可選參數(shù),指定箱線圖的須的長度,表示數(shù)據(jù)的分布范圍,默認(rèn)值為1.5。
- showfliers: 可選參數(shù),控制是否顯示異常值,默認(rèn)值為True。
- boxprops: 可選參數(shù),用于設(shè)置箱體的屬性,如顏色、填充等。
- labels: 可選參數(shù),用于設(shè)置箱線圖的標(biāo)簽。
下面是一個簡單的示例,演示如何使用箱線圖繪制一組數(shù)據(jù)的分布:
import matplotlib.pyplot as plt
import numpy as np
# 生成隨機(jī)數(shù)據(jù)
np.random.seed(0)
data = np.random.randn(100)
# 繪制箱線圖
plt.boxplot(data)
# 添加標(biāo)簽和標(biāo)題
plt.xlabel('Data')
plt.ylabel('Values')
plt.title('Box Plot')
# 顯示圖表
plt.show()
下面是一個示例,演示如何繪制多個箱線圖:
import matplotlib.pyplot as plt
import numpy as np
# 生成隨機(jī)數(shù)據(jù)
np.random.seed(0)
data1 = np.random.randn(100)
data2 = np.random.randn(100)
data3 = np.random.randn(100)
# 將數(shù)據(jù)組織為二維數(shù)組
data = [data1, data2, data3]
# 繪制多個箱線圖
plt.boxplot(data)
# 添加標(biāo)簽和標(biāo)題
plt.xlabel('Data')
plt.ylabel('Values')
plt.title('Multiple Box Plots')
# 顯示圖表
plt.show()
2、Matplotlib箱線圖boxplot()舉例異常值
在箱線圖中,異常值是指位于數(shù)據(jù)分布之外的值,它們與其他數(shù)據(jù)點(diǎn)相比明顯偏離。異常值可以通過箱線圖的須和離群點(diǎn)來表示。
下面是一個示例,演示如何在箱線圖中標(biāo)記異常值:
import matplotlib.pyplot as plt
import numpy as np
# 生成帶有異常值的隨機(jī)數(shù)據(jù)
np.random.seed(0)
data = np.concatenate([np.random.normal(0, 1, 100), np.array([5, -5, 8, -8])])
# 繪制箱線圖
plt.boxplot(data, showfliers=True)
# 添加標(biāo)簽和標(biāo)題
plt.xlabel('Data')
plt.ylabel('Values')
plt.title('Box Plot with Outliers')
# 顯示圖表
plt.show()
在這個示例中,我們生成了一個包含正態(tài)分布數(shù)據(jù)和異常值的隨機(jī)數(shù)據(jù)集data。異常值包括值為5、-5、8和-8的數(shù)據(jù)點(diǎn)。
然后,我們使用plt.boxplot()函數(shù)并將showfliers參數(shù)設(shè)置為True,以顯示箱線圖中的異常值。
最后,我們添加了標(biāo)簽和標(biāo)題,以便更好地說明圖表的含義。
3、Matplotlib箱線圖boxplot()樣式定義
boxplot()函數(shù)提供了一系列參數(shù),可以用于自定義箱線圖的樣式。
import matplotlib.pyplot as plt
import numpy as np
# Generate random data
np.random.seed(0)
data = np.random.randn(100)
# Define boxplot styles
boxprops = dict(facecolor='lightblue')
flierprops = dict(marker='o', markerfacecolor='green', markersize=5, linestyle='none')
# Create boxplot
plt.boxplot(data, patch_artist=True, boxprops=boxprops, flierprops=flierprops)
# Add labels and title
plt.xlabel('Data')
plt.ylabel('Values')
plt.title('Customized Box Plot')
# Show the plot
plt.show()
4、Matplotlib箱線圖boxplot()舉例帶缺口
當(dāng)繪制箱線圖時,你可以使用notch=True參數(shù)來為箱體添加一個缺口,用于表示數(shù)據(jù)的置信區(qū)間。缺口的寬度取決于數(shù)據(jù)的分布。下面是一個帶有缺口的箱線圖示例:
import matplotlib.pyplot as plt
import numpy as np
# 生成隨機(jī)數(shù)據(jù)
np.random.seed(0)
data = np.random.randn(100)
# 繪制帶有缺口的箱線圖
plt.boxplot(data, notch=True)
# 添加標(biāo)簽和標(biāo)題
plt.xlabel('Data')
plt.ylabel('Values')
plt.title('Box Plot with Notch')
# 顯示圖表
plt.show()
在這個示例中,我們生成了一個隨機(jī)數(shù)據(jù)集data。然后,我們使用plt.boxplot()函數(shù)并將notch=True作為參數(shù)傳遞,以繪制帶有缺口的箱線圖。
最后,我們添加了標(biāo)簽和標(biāo)題,以便更好地說明圖表的含義。
5、Matplotlib箱線圖boxplot()舉例橫向顯示
當(dāng)你想要繪制橫向的箱線圖時,你可以使用vert=False參數(shù)將箱線圖的方向設(shè)置為水平方向。這樣,箱體和須將水平放置,而不是垂直放置。下面是一個橫向顯示的箱線圖示例:
import matplotlib.pyplot as plt
import numpy as np
# 生成隨機(jī)數(shù)據(jù)
np.random.seed(0)
data = np.random.randn(100)
# 繪制橫向箱線圖
plt.boxplot(data, vert=False)
# 添加標(biāo)簽和標(biāo)題
plt.xlabel('Values')
plt.ylabel('Data')
plt.title('Horizontal Box Plot')
# 顯示圖表
plt.show()
在這個示例中,我們生成了一個隨機(jī)數(shù)據(jù)集data。然后,我們使用plt.boxplot()函數(shù)并將vert=False作為參數(shù)傳遞,以繪制橫向的箱線圖。
最后,我們添加了標(biāo)簽和標(biāo)題,以便更好地說明圖表的含義。
6、Matplotlib箱線圖boxplot()舉例顯示平均值
要在箱線圖上顯示平均值,你可以使用meanline=True參數(shù)來繪制平均線。下面是一個示例:
import matplotlib.pyplot as plt
import numpy as np
# 生成隨機(jī)數(shù)據(jù)
np.random.seed(0)
data = np.random.randn(100)
# 繪制箱線圖并顯示平均值
plt.boxplot(data, meanline=True, showmeans=True)
# 添加標(biāo)簽和標(biāo)題
plt.xlabel('Data')
plt.ylabel('Values')
plt.title('Box Plot with Mean')
# 顯示圖表
plt.show()
在這個示例中,我們生成了一個隨機(jī)數(shù)據(jù)集data。然后,我們使用plt.boxplot()函數(shù)并將meanline=True和showmeans=True作為參數(shù)傳遞,以繪制帶有平均線的箱線圖。
最后,我們添加了標(biāo)簽和標(biāo)題,以便更好地說明圖表的含義。
7、Matplotlib箱線圖boxplot()舉例隱藏異常值
要在箱線圖中隱藏異常值,你可以使用showfliers=False參數(shù)。下面是一個示例:
import matplotlib.pyplot as plt
import numpy as np
# 生成隨機(jī)數(shù)據(jù)
np.random.seed(0)
data = np.random.randn(100)
# 繪制箱線圖并隱藏異常值
plt.boxplot(data, showfliers=False)
# 添加標(biāo)簽和標(biāo)題
plt.xlabel('Data')
plt.ylabel('Values')
plt.title('Box Plot without Outliers')
# 顯示圖表
plt.show()
8、Matplotlib箱線圖boxplot()舉例異常值的樣式
要自定義箱線圖中異常值的樣式,你可以使用flierprops參數(shù)來指定異常值的屬性。下面是一個示例:
import matplotlib.pyplot as plt
import numpy as np
# 生成隨機(jī)數(shù)據(jù)
np.random.seed(0)
data = np.random.randn(100)
outliers = [2.5, -3.8, 3.2] # 自定義異常值
# 繪制箱線圖并自定義異常值樣式
plt.boxplot(data, flierprops={'marker': 'x', 'markerfacecolor': 'red', 'markersize': 8, 'linestyle': 'none'},
notch=True, showfliers=True)
# 添加自定義異常值
plt.scatter(np.full(len(outliers), 1), outliers, marker='x', color='red')
# 添加標(biāo)簽和標(biāo)題
plt.xlabel('Data')
plt.ylabel('Values')
plt.title('Box Plot with Custom Outliers')
# 顯示圖表
plt.show()
在這個示例中,我們生成了一個隨機(jī)數(shù)據(jù)集data,并定義了一些自定義的異常值outliers。然后,我們使用plt.boxplot()函數(shù)并通過flierprops參數(shù)傳遞一個字典來自定義異常值的樣式,包括marker、markerfacecolor、markersize和linestyle。
為了顯示自定義的異常值,我們使用plt.scatter()函數(shù)在相應(yīng)位置上繪制了紅色的"x"標(biāo)記。
最后,我們添加了標(biāo)簽和標(biāo)題,以便更好地說明圖表的含義。
9、Matplotlib箱線圖boxplot()舉例箱子的樣式
要自定義箱線圖中箱子的樣式,你可以使用boxprops參數(shù)來指定箱子的屬性。下面是一個示例:
import matplotlib.pyplot as plt
import numpy as np
# 生成隨機(jī)數(shù)據(jù)
np.random.seed(0)
data = np.random.randn(100)
# 繪制箱線圖并自定義箱子樣式
plt.boxplot(data, boxprops={'color': 'green', 'linewidth': 2, 'linestyle': '--'},
notch=True, showfliers=True)
# 添加標(biāo)簽和標(biāo)題
plt.xlabel('Data')
plt.ylabel('Values')
plt.title('Box Plot with Custom Box Style')
# 顯示圖表
plt.show()
在這個示例中,我們生成了一個隨機(jī)數(shù)據(jù)集data。然后,我們使用plt.boxplot()函數(shù)并通過boxprops參數(shù)傳遞一個字典來自定義箱子的樣式,包括color、linewidth和linestyle。
在這里,我們將箱子的顏色設(shè)置為綠色,線寬設(shè)置為2,線型設(shè)置為虛線。
最后,我們添加了標(biāo)簽和標(biāo)題,以便更好地說明圖表的含義。
11、Matplotlib箱線圖boxplot()舉例標(biāo)簽說明
要為箱線圖添加標(biāo)簽說明,你可以使用labels參數(shù)來指定每個數(shù)據(jù)組的標(biāo)簽。下面是一個示例:
import matplotlib.pyplot as plt
import numpy as np
# 生成隨機(jī)數(shù)據(jù)
np.random.seed(0)
data1 = np.random.randn(100)
data2 = np.random.randn(100) + 2
data3 = np.random.randn(100) - 2
# 繪制多個箱線圖并添加標(biāo)簽說明
plt.boxplot([data1, data2, data3], labels=['Group 1', 'Group 2', 'Group 3'])
# 添加標(biāo)簽和標(biāo)題
plt.xlabel('Groups')
plt.ylabel('Values')
plt.title('Box Plot with Labels')
# 顯示圖表
plt.show()
在這個示例中,我們生成了三組隨機(jī)數(shù)據(jù):data1、data2和data3。然后,我們使用plt.boxplot()函數(shù)傳遞這三組數(shù)據(jù),并通過labels參數(shù)指定每個數(shù)據(jù)組的標(biāo)簽。
最后,我們添加了標(biāo)簽和標(biāo)題,以便更好地說明圖表的含義。文章來源:http://www.zghlxwxcb.cn/news/detail-479591.html
??文章下方有交流學(xué)習(xí)區(qū)!一起學(xué)習(xí)進(jìn)步!??????
??首發(fā)CSDN博客,創(chuàng)作不易,如果覺得文章不錯,可以點(diǎn)贊??收藏??評論??
??你的支持和鼓勵是我創(chuàng)作的動力???文章來源地址http://www.zghlxwxcb.cn/news/detail-479591.html
到了這里,關(guān)于【數(shù)據(jù)分析之道-Matplotlib(八)】Matplotlib箱線圖的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!