如何在 matplotlib 中创建分布图


在Python中创建分布图有两种常见方法:

方法 1:使用 Matplotlib 创建直方图

 import matplotlib. pyplot as plt

plt. hist (data, color=' lightgreen ', ec=' black ', bins= 15 )

请注意, color控制条形的填充颜色, ec控制条形边缘的颜色, bins控制直方图中的 bin 数量。

方法 2:使用 Seaborn 创建密度曲线直方图

 import seaborn as sns
sns. displot (data, kde= True , bins= 15 )

请注意, kde=True指定密度曲线应叠加在直方图上。

以下示例展示了如何在实践中使用每种方法来可视化以下 NumPy 数组中值的分布:

 import numpy as np

#make this example reproducible.
n.p. random . seed ( 1 )

#create numpy array with 1000 values that follows normal dist with mean=10 and sd=2
data = np. random . normal (size= 1000 , loc= 10 , scale= 2 )

#view first five values
data[: 5 ]

array([13.24869073, 8.77648717, 8.9436565, 7.85406276, 11.73081526])

示例 1:使用 Matplotlib 创建直方图

我们可以使用以下代码在 Matplotlib 中创建直方图,以可视化 NumPy 数组中值的分布:

 import matplotlib. pyplot as plt

#create histogram
plt. hist (data, color=' lightgreen ', ec=' black ', bins= 15 )

x 轴显示 NumPy 数组中的值,y 轴显示这些值的频率。

请注意,为bins参数使用的值越大,直方图中的条形就越多。

示例 2:使用 Seaborn 创建带有密度曲线的直方图

我们可以使用以下代码使用seaborn数据可视化库创建一个叠加密度曲线的直方图:

 import seaborn as sns

#create histogram with density curve overlaid
sns. displot (data, kde= True , bins= 15 ) 

结果是一个叠加了密度曲线的直方图。

使用密度曲线的优点是它使用单个连续曲线总结了分布的形状。

注意:您可以 在此处找到 seaborn displot()函数的完整文档。

其他资源

以下教程介绍了如何在 Python 中创建其他常见图表:

如何在 Matplotlib 中创建堆积条形图
如何在 Matplotlib 中创建相对频率直方图
如何在 Seaborn 中创建水平条形图

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注