如何在 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 中创建水平条形图