Python是一種目前使用非常廣泛的編程語(yǔ)言,具有簡(jiǎn)單易懂、易于學(xué)習(xí)等優(yōu)點(diǎn),不僅在科學(xué)計(jì)算、數(shù)據(jù)分析等領(lǐng)域中得到了廣泛應(yīng)用,還在可視化方面有著突出的表現(xiàn)。在Python中,畫箱圖是一種常見的可視化方式,通過(guò)箱圖可以很直觀地展現(xiàn)出數(shù)據(jù)集的分布情況和異常值等信息。
在Python中,使用matplotlib庫(kù)的boxplot函數(shù)可以畫出箱圖,但是當(dāng)我們需要將多組數(shù)據(jù)的箱圖進(jìn)行對(duì)比時(shí),單獨(dú)使用boxplot函數(shù)則不能滿足我們的需求,這時(shí)我們需要用到可以畫出多組數(shù)據(jù)箱圖的grouped_boxplot函數(shù)。
import matplotlib.pyplot as plt import numpy as np def grouped_boxplot(data_list, label_list): fig, ax = plt.subplots() # 計(jì)算出每組數(shù)據(jù)的位置 pos = np.array(range(len(data_list))) + 1 # 畫出每組數(shù)據(jù)的箱圖 for i, data in enumerate(data_list): ax.boxplot(data, positions=[pos[i]], widths=0.6) # 設(shè)置x軸標(biāo)簽 ax.set_xticks(pos) ax.set_xticklabels(label_list) plt.show() # 測(cè)試代碼 data_list = [[1, 3, 5, 7, 9], [2, 4, 6, 8, 10]] label_list = ['Data Group 1', 'Data Group 2'] grouped_boxplot(data_list, label_list)
在這段代碼中,我們首先導(dǎo)入了需要用到的庫(kù),然后定義了grouped_boxplot函數(shù)。這個(gè)函數(shù)有兩個(gè)輸入?yún)?shù):data_list表示需要對(duì)比的多組數(shù)據(jù),每組數(shù)據(jù)以列表的形式傳入;label_list表示每組數(shù)據(jù)的標(biāo)簽,以列表的形式傳入。在函數(shù)中,我們計(jì)算出了每組數(shù)據(jù)的位置,然后在位置上分別畫出了每組數(shù)據(jù)的箱圖。最后,我們?cè)O(shè)置了x軸標(biāo)簽,并使用plt.show()函數(shù)展示出了箱圖。
以上就是Python中如何畫多組數(shù)據(jù)箱圖的方法,使用上述代碼可以很方便地對(duì)多組數(shù)據(jù)集進(jìn)行對(duì)比,更加全面地了解數(shù)據(jù)分布情況。