1 直方图 plt.hist()
当使用Matplotlib库绘制直方图时,可以使用plt.hist()
函数。plt.hist()
函数的常用参数解释如下:
- x: 直方图的数据,可以是一个列表、数组或Series。
- bins: 直方图的箱体数量或分布方式。可以是一个整数,表示箱体的数量,也可以是一个数组,用于指定箱体的边界。
tips:在
plt.hist()
函数中,bins
参数用于指定直方图的箱体数量或分布方式。它可以接受两种类型的输入:整数和数组。
整数:当bins
参数为整数时,它表示直方图的箱体数量。例如,bins=10
表示将数据划分为10个等宽的箱体。直方图将根据数据的范围自动确定每个箱体的边界。整数类型的bins
参数适用于大多数情况,特别是当你只关心数据的大致分布而不需要精确的箱体边界时。
数组*:当bins
参数为数组时,它用于指定自定义的箱体边界。数组的元素表示每个箱体的边界值,因此数组的长度比箱体数量多1。例如,bins=[0, 10, 20, 30]
表示将数据划分为3个箱体,边界分别为0、10和20。直方图将根据指定的边界将数据分配到相应的箱体中。数组类型的bins
参数适用于需要自定义箱体边界的情况,例如,根据特定的数据分布或需求进行分组。*
使用整数或数组作为bins
参数的选择取决于你对数据分布的需求。整数类型的bins
参数提供了一种简单的方式来划分数据,而数组类型的bins
参数允许更精细地控制箱体的边界。根据具体情况选择合适的方式可以更好地呈现数据的特征和模式。
- range: 直方图的取值范围,用于限定数据的范围。默认值为None,表示使用数据的最小值和最大值作为范围。
- density: 是否对直方图进行归一化处理,默认值为False。如果设置为True,则直方图的高度将表示概率密度而非计数。
- weights: 数据点的权重。可以为每个数据点指定一个权重,用于计算直方图的高度。
- cumulative: 是否绘制累积直方图,默认值为False。如果设置为True,则绘制累积直方图。
- histtype: 直方图的类型,可选值包括’bar’(普通直方图,默认值)、‘barstacked’(堆叠直方图)、‘step’(阶梯直方图)等。
- align: 直方图的对齐方式,可选值为’left’(默认值)、‘mid’、‘right’。
- color: 直方图的颜色。
- edgecolor: 直方图的边框颜色。
- linewidth: 直方图的边框线宽。
- alpha: 直方图的透明度,取值范围为0到1之间的浮点数,0表示完全透明,1表示完全不透明。
- label: 直方图的标签,用于图例的显示。
- 这些参数可以根据具体需求进行组合使用。下面是一个示例代码,展示如何使用
plt.hist()
函数绘制箱线图:
import numpy as np
from matplotlib import pyplot as plt
data = np.random.rand(100)*10 # 生成100个0到10之间的随机数
bins = np.arange(0, 11, 1) # 指定箱体[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
plt.hist(data, bins=10)
plt.title('直方图示例')
plt.xlabel('数值')
plt.ylabel('频数')
plt.show()
2 箱线图plt.boxplot()
箱线图(Box Plot),又称为盒须图或盒式图,是一种用于可视化数据分布和统计特征的图表。它能够展示数据的中位数、四分位数、异常值等重要统计信息,帮助我们了解数据的整体分布和离群值情况。
箱线图通常由以下几个部分组成:
- 箱体(Box):箱体表示数据的四分位数范围。箱体的上边缘表示上四分位数(Q3),下边缘表示下四分位数(Q1),箱体的中间线表示中位数(Median)。
- 须线(Whiskers):须线代表数据的范围。通常绘制两条须线,一条从箱体的上边缘延伸至数据中的最大非离群值,一条从箱体的下边缘延伸至数据中的最小非离群值。
- 异常值(Outliers):异常值是数据中的离群值,其数值明显偏离正常数据的范围。异常值通常用圆圈或叉号表示。
箱线图对数据的统计特征和异常值进行了直观的展示,可以帮助我们发现数据的分布特点、集中趋势以及离群值。它常用于比较不同组或不同条件下的数据分布,以及识别数据中的异常情况。
当使用Matplotlib库绘制箱线图时,可以使用plt.boxplot()
函数。plt.boxplot()
函数的常用参数解释如下:
- x: 箱线图的数据,可以是一个列表、数组或Series。
- notch: 是否绘制缺口框,默认为False。如果设置为True,则箱线图将绘制带有缺口的框。
- sym: 指定异常值的样式,默认为’+'。可以是一个字符或字符列表,用于表示异常值的样式。
- vert: 箱线图的方向,可选值为True(默认值,垂直方向)或False(水平方向)。
- patch_artist: 是否使用补丁对象来绘制箱体,默认为False。如果设置为True,则箱体将使用补丁对象进行填充。
- meanline: 是否绘制均值线,默认为False。如果设置为True,则在箱线图中绘制均值线。
- showmeans: 是否显示均值,默认为False。如果设置为True,则在箱线图中显示均值的位置。
- showbox: 是否显示箱体,默认为True。如果设置为False,则不显示箱体。
- showcaps: 是否显示箱线图的边缘线,默认为True。如果设置为False,则不显示边缘线。
- showfliers: 是否显示异常值,默认为True。如果设置为False,则不显示异常值。
- boxprops: 箱体的属性设置,可以是一个字典,用于指定箱体的样式。
- whiskerprops: 指定须的属性设置,可以是一个字典,用于指定须的样式。
- capprops: 边缘线(cap)的属性设置,可以是一个字典,用于指定边缘线的样式。
- medianprops: 中位数线的属性设置,可以是一个字典,用于指定中位数线的样式。
- meanprops: 均值线的属性设置,可以是一个字典,用于指定均值线的样式。
- flierprops: 异常值的属性设置,可以是一个字典,用于指定异常值的样式。
- manage_ticks: 是否自动管理刻度标签,默认为True。如果设置为False,则不自动管理刻度标签。
- labels: x轴刻度标签,用于标识每个箱线图的名称或类别。
- bootstrap: 是否使用自助法计算置信区间,默认为None。如果设置为整数,则表示进行自助法采样的次数。
这些参数可以根据具体需求进行组合使用。下面是一个示例代码,展示如何使用plt.boxplot()
函数绘制箱线图:
import matplotlib.pyplot as plt
import numpy as np
# 示例数据
data = np.random.randn(100, 5)
# 绘制箱线图
plt.boxplot(data, notch=True, sym='o', vert=True, patch_artist=True)
# 设置图表标题和坐标轴标签
plt.title('箱线图示例')
plt.xlabel('变量')
plt.ylabel('值')
# 显示图形
plt.show()
运行上述代码,将生成一个简单的箱线图。根据给定的数据,箱线图绘制了每个变量的五数概括(最小值、下四分位数、中位数、上四分位数、最大值)。图表的标题和坐标轴标签也被设置为相应的文本。
3 饼状图plt.pie()
当使用Matplotlib库绘制饼状图时,可以使用plt.pie()
函数, plt.pie()
函数的使用方法及其参数的含义如下:
- x:表示要绘制饼状图的数据。它可以是一个一维的数组或列表,每个元素表示各个类别的数值。注意,
x
中的数值应为非负数。 - explode(可选):是一个与
x
长度相同的数组或列表,用于指定是否要将某个扇区从饼状图中分离出来。默认为None
,表示所有扇区都不分离。如果指定了explode
,则传入的数组或列表中的非零值表示要分离出来的扇区与饼状图中心的距离。 - labels(可选):是一个与
x
长度相同的数组或列表,用于指定每个扇区的标签。默认为None
,表示不显示标签。 - colors(可选):是一个与
x
长度相同的数组或列表,用于指定每个扇区的颜色。默认为None
,表示使用默认的颜色循环。 - autopct(可选):是一个字符串或函数,用于指定如何显示每个扇区的百分比值。如果是一个字符串,可以使用格式化字符串指定显示的格式,如
'%1.1f%%'
表示保留一位小数。如果是一个函数,函数的参数是每个扇区的数值,返回值是显示的字符串。默认为None
,表示不显示百分比。 - shadow(可选):一个布尔值,指定是否在饼状图下方绘制阴影。默认为
False
,表示不绘制阴影。 - startangle(可选):一个浮点数,表示饼状图的起始角度。默认为 0 度,表示从水平方向开始绘制。
下面是一个使用plt.pie()
绘制饼状图的示例代码:
import matplotlib.pyplot as plt
# 示例数据
sizes = [15, 30, 45, 10] # 各个部分的数值
labels = ['A', 'B', 'C', 'D'] # 各个部分的标签
explode = (0, 0.1, 0, 0) # 突出显示某个部分
colors = ['red', 'blue', 'green', 'yellow'] # 各个部分的颜色
# 绘制饼状图
plt.pie(sizes, explode=explode, labels=labels, colors=colors, autopct='%1.1f%%', shadow=True, startangle=90)
# 设置图表标题
plt.title('饼状图示例')
# 显示图形
plt.show()
运行上述代码,将生成一个简单的饼状图。根据给定的数据,饼状图显示了各个扇区的占比关系,每个扇区的大小表示其在总体中的比例。图表中的标签显示了每个扇区的标签,百分比值显示了每个扇区的百分比。