當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Python Matplotlib.pyplot.violinplot()用法及代碼示例

Matplotlib是Python中令人驚歎的可視化庫,用於二維陣列圖。 Matplotlib是一個基於NumPy數組的多平台數據可視化庫,旨在與更廣泛的SciPy堆棧配合使用。

Matplotlib.pyplot.violinplot()

顧名思義,matplotlib.pyplot.violinplot()用於製作小提琴圖。通過此函數,您可以為數據集的每一列或數據集序列中的每個向量繪製小提琴圖。所有填充區域均擴展為顯示整個數據範圍,其中的線在平均值,中位數,最大值和最小值處為可選。

用法: matplotlib.pyplot.violinplot(dataset, positions=None, vert=True, widths=0.5, showmeans=False, showextrema=True, showmedians=False, points=100, bw_method=None, *, data=None)


參數:

  1. dataset:它是必需的參數,通常是數組或向量序列。這是將數據饋送到函數的地方。
  2. positions:它是一個array-like對象,其默認值為從1到n的數組(即默認= [1、2、3…n])。用於設置小提琴的位置。限製和刻度自動設置為與位置匹配。
  3. vert:此參數接受布爾值。此參數的默認值為False。如果設置為True,它將創建一個垂直的小提琴圖,否則將設置一個水平的小提琴圖。
  4. widths:它接受一個array-like對象,默認值為0.5。它用於設置每個小提琴的最大寬度,可以是標量或向量。如果使用默認值,它將占用大約一半的水平空間。
  5. showmeans:它接受布爾值,並且默認設置為False。如果設置為true,它將切換均值的呈現
  6. showextreama:它接受布爾值,默認情況下設置為False。如果設置為True,它將切換極值的渲染。
  7. showmedians:它接受布爾值,並且默認設置為False。如果設置為True,它將切換中位數的呈現。
  8. points:它接受標量,默認值為100。它用於定義要計算每個高斯核密度估計的點總數。
  9. bw_method:它是一個可選參數,它接受字符串,標量或可調用對象。估計器帶寬是使用此方法計算的。它可以是‘silverman’,‘scott’,可調用常量或標量常量。如果是標量,則直接用作kde.factor。如果它是可調用的,則它僅采用GaussianKDE實例並返回標量。如果沒有,則使用Scott

返回值:此函數將violin-plot的每個組件的字典映射返回到各個集合實例的列表。返回的字典具有以下鍵:

  • bodies:matplotlib.collections.PolyCollection的實例列表,其中包含每個小提琴的填充區域。
  • cmeans:創建matplotlib.collections.LineCollection的實例以標識每個小提琴分布的均值
  • cmins:創建了matplotlib.collections.LineCollection的實例來標識每個小提琴發行的底部。
  • cmaxes:創建了matplotlib.collections.LineCollection的實例來標識每個小提琴發行的頂部。
  • cbars:創建了matplotlib.collections.LineCollection的實例來標識每個小提琴分布的中心。
  • cmedians:創建了matplotlib.collections.LineCollection的實例來標識每個小提琴分布的平均值。

範例1:

import numpy as np 
import matplotlib.pyplot as plt 
  
np.random.seed(21) 
data = np.random.random(111) 
quartile1, median, quartile3 = np.percentile(data, 
                                             [ 50, 75,100], 
                                             axis=0) 
plt.violinplot(data) 
plt.vlines(1, quartile1,  
           quartile3, 
           color='r',  
           linestyle='--') 
  
plt.hlines(quartile1,.7,1.2) 
plt.hlines(quartile3,.7,1.2) 

輸出:

python-matplotlib-voilinplot-1

範例2:

import matplotlib.pyplot as plt 
  
# Fixing random state for 
# reproducibility 
np.random.seed(15437660) 
  
# creating randomly generate  
# collections / data 
coll_1 = np.random.normal(100, 10, 200) 
coll_2 = np.random.normal(80, 30, 200) 
coll_3 = np.random.normal(90, 20, 200) 
coll_4 = np.random.normal(70, 25, 200) 
  
## combining these different  
# collections into a list 
data_plotter = [coll_1, coll_2,  
                coll_3, coll_4] 
  
plt.violinplot(data_plotter) 
  
plt.show()

輸出:

python-matplotlib-violineplot-2




相關用法


注:本文由純淨天空篩選整理自RajuKumar19大神的英文原創作品 Matplotlib.pyplot.violinplot() in Python。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。