当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。