📜  Python中的 matplotlib.axes.Axes.pie()(1)

📅  最后修改于: 2023-12-03 15:34:22.666000             🧑  作者: Mango

Python中的matplotlib.axes.Axes.pie()

matplotlib是一款数据可视化工具库,它为Python语言提供了丰富且易于使用的绘图功能。其中,matplotlib.axes.Axes.pie()Axes类中的一个方法,用于绘制饼图。

方法介绍

Axes.pie()方法用于绘制饼图,其主要参数如下:

  • x: 数量或长度为*len(labels)*的数组,表示选中每个饼图部分的大小;
  • explode: 长度为*len(x)*或None的数组,表示将哪些饼部分“突出显示”;
  • labels: 长度为*len(x)*的数组,表示饼部分的标签;
  • colors: 长度为*len(x)*的颜色列表,用于每个饼部分的填充色;
  • autopct: 字符串或格式化函数,用于标注每个饼部分所占百分比;
  • pctdistance: 数字,表示标注文本距中心圆的距离;
  • labeldistance: 数字,表示每个扇形标签到中心的距离;
  • startangle: 数字,表示扇形占据的起始角度(逆时针为0度);
  • radius: 数字,表示圆半径;
  • counterclock: 布尔值,表示是否逆时针绘制饼图;
  • wedgeprops: 字典,表示扇形的属性;
  • textprops: 字典,表示标签的属性;
  • center: 二元组,表示饼图中心位置。
简单示例

下面的示例演示了如何使用Axes.pie()方法绘制一个简单的饼图。

import matplotlib.pyplot as plt

labels = ['Frogs', 'Hogs', 'Dogs', 'Logs']
sizes = [15, 30, 45, 10]
explode = (0, 0.1, 0, 0)
colors = ['#ff9999', '#66b3ff', '#99ff99', '#ffcc99']

fig1, ax1 = plt.subplots()
ax1.pie(sizes, explode=explode, labels=labels, colors=colors, autopct='%1.1f%%', startangle=90)
ax1.axis('equal')

plt.show()

image-20211102180308556

该代码片段绘制了一个简单的饼图,以四只动物为例,其中Hogs部分被突出显示,占比较大。使用autopct参数可以标注每个扇形的百分比。

注意事项
  • x参数必须是一个长度为“len(labels)”的数组,否则会抛出TypeError异常。
  • 下列任一参数的dtype是“float”或“str”时,autopct参数功能是相同的: - 函数 - 字符串的格式化指令
  • 该方法返回一个元组对象,其中包括饼图的边界框以及每个扇形的元组对象。可以使用“circles”属性来访问原始“matplotlib.patches.Wedge”对象列表并进行进一步的自定义处理。
  • 如果在绘制饼图时x中存在负值,则会抛出ValueError异常。

为了使用matplotlib.axes.Axes.pie()方法正确地绘制您的饼图,您应该仔细阅读上述所有参数,并正确解释数据来确定如何设置它们。此外,当您熟悉饼图方法的参数和注意事项时,您也将更容易使用其他matplotlib绘图功能,如子图和自定义线条、颜色和字体等。