好的。首先,我们需要明确,matplotlib 是一个 Python 的数据可视化库,Pie chart (饼状图) 是 matplotlib 中的可视化类型之一,用于表示数据集中各类别之间的比例关系。接下来将提供如何使用 matplotlib 绘制饼状图的攻略。
环境搭建
在进行如下操作示例之前,你需要确保已经成功安装了 matplotlib (版本最好在 3.0 以上),如果没有安装,可以使用以下代码进行安装:
pip install matplotlib
同时,你需要使用 Python3 进行本文接下来的实验。
示例 1:最基本的饼状图
下面以一个示例为例,进行说明。
import matplotlib.pyplot as plt
labels = ['A', 'B', 'C', 'D', 'E'] # 饼状图切片的标签
sizes = [13, 27, 40, 10, 10] # 相应标签的值,注意这里的值应该和百分比之和为1
fig, ax = plt.subplots() # 创建一个空白的绘图区域
ax.pie(sizes, labels=labels, autopct='%1.1f%%') # 绘制饼状图; autopct参数为添加注释文本。
ax.axis('equal') # 通过设置x、y轴的刻度范围保证饼状图是一个正圆(即圆心是0,0点)
plt.show() # 展示绘制后的饼状图
解释一下代码中的每一步:
-
首先,我们需要准备数据,即一个字典或列表,用于表示数据集中各类别之间的比例关系。
-
创建一个空白的绘图区域。可以使用 subplot 方法设置子图。
-
在 ax 实例上调用
pie()
方法即可进行绘制。 标签将使用 labels 表示, autopct 表示百分数格式化字符串,该字符串将根据地面区域自动计算百分比并格式化标签 -
为了使饼状图看起来更加美观,需要调用
axis('equal')
进行设置。这样它会具有相等的长宽比,从而使饼状图看起来更像一个圆。 -
最后调用
show()
方法展示绘制的饼状图
示例 2:使用 explode 属性指出某一模块"突出"
上一个示例展示了如何绘制一个最基本的饼状图,但是如果我们想将某部分"突出",以强调它的含义,这时候就可以使用 explode
参数。这个参数是一个列表或元组,表示各部分与中心点的距离,相应长度就表示了突出的大小。
import matplotlib.pyplot as plt
labels = ['A', 'B', 'C', 'D', 'E'] # 饼状图切片的标签
sizes = [13, 27, 40, 10, 10] # 相应标签的值,注意这里的值应该和百分比之和为1
explode = (0, 0.1, 0, 0, 0) # 突出第二块,第二块离开饼图
fig, ax = plt.subplots() # 创建一个空白的绘图区域
ax.pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%') # 绘制饼状图; autopct参数为添加注释文本。
ax.axis('equal') # 通过设置x、y轴的刻度范围保证饼状图是一个正圆(即圆心是0,0点)
plt.show() # 展示绘制后的饼状图
解释一下上述代码中的每一步:
-
首先,我们需要准备数据,目前与示例一相同。
-
接着我们需要添加
explode
参数,对第二个模块进行突出展示。 -
之后我们仍需要创建一个空白的绘图区域。
-
在 ax 实例上调用
pie()
方法即可进行绘制。注意 exploded 参数会使饼图被拉出突出显示,slice 数据将会与 explod 相对应,从而突出第二个模块。 -
接下来仍需要调用
axis('equal')
进行设置。 -
最后调用
show()
方法展示绘制的饼状图。
本文提供了两个示例,演示了 Python 使用 matplotlib 的 pie 函数绘制饼状图的功能及其标准实现。希望对你有所帮助,谢谢。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python使用matplotlib的pie函数绘制饼状图功能示例 - Python技术站