收藏783
分享
阅读969
更新时间2025-08-06
使用 Pyplot,您可以使用 pie() 函数来绘制饼图:
一个简单的饼图:
import matplotlib.pyplot as plt import numpy as np y = np.array([35, 25, 25, 15]) plt.pie(y) plt.show()运行实例 »
点击 "运行实例" 按钮查看在线实例
如您所见,饼图为数组中的每个值(在本例中为 [35, 25, 25, 15])绘制一个部分(称为楔形)。
默认情况下,第一个楔形的绘制从 x 轴开始并逆时针移动:
注意:每个楔形的大小是通过使用以下公式将值与其他所有值进行比较来确定的:
该值除以所有值的总和:x/sum(x)
使用 labels 参数向饼图添加标签。
labels 参数必须是一个数组,每个楔形有一个标签:
一个简单的饼图:
import matplotlib.pyplot as plt import numpy as np y = np.array([35, 25, 25, 15]) mylabels = ["Apples", "Bananas", "Cherries", "Dates"] plt.pie(y, labels = mylabels) plt.show()运行实例 »
点击 "运行实例" 按钮查看在线实例
如前所述,默认的起始角度在 x 轴上,但您可以通过指定 startangle 参数来更改起始角度。
startangle 参数以度数为单位定义,默认角度为 0:
从 90 度开始第一个楔形:
import matplotlib.pyplot as plt import numpy as np y = np.array([35, 25, 25, 15]) mylabels = ["Apples", "Bananas", "Cherries", "Dates"] plt.pie(y, labels = mylabels, startangle = 90) plt.show()运行实例 »
点击 "运行实例" 按钮查看在线实例
也许您想让其中一个楔形脱颖而出?explode 参数允许您这样做。
如果指定了 explode 参数,并且不为 None,则它必须是一个数组,每个楔形一个值。
每个值表示每个楔形离中心的距离:
将 "Apples" 楔形从饼图中心拉出 0.2:
import matplotlib.pyplot as plt import numpy as np y = np.array([35, 25, 25, 15]) mylabels = ["Apples", "Bananas", "Cherries", "Dates"] myexplode = [0.2, 0, 0, 0] plt.pie(y, labels = mylabels, explode = myexplode) plt.show()运行实例 »
点击 "运行实例" 按钮查看在线实例
通过将 shadows 参数设置为 True,向饼图添加阴影:
添加阴影:
import matplotlib.pyplot as plt import numpy as np y = np.array([35, 25, 25, 15]) mylabels = ["Apples", "Bananas", "Cherries", "Dates"] myexplode = [0.2, 0, 0, 0] plt.pie(y, labels = mylabels, explode = myexplode, shadow = True) plt.show()运行实例 »
点击 "运行实例" 按钮查看在线实例
您可以使用 colors 参数设置每个楔形的颜色。
如果指定了 colors 参数,它必须是一个数组,每个楔形一个值:
为每个楔形指定一种新颜色:
import matplotlib.pyplot as plt import numpy as np y = np.array([35, 25, 25, 15]) mylabels = ["Apples", "Bananas", "Cherries", "Dates"] mycolors = ["black", "hotpink", "b", "#4CAF50"] plt.pie(y, labels = mylabels, colors = mycolors) plt.show()运行实例 »
点击 "运行实例" 按钮查看在线实例
您可以使用十六进制颜色值、140 种受支持的颜色名称中的任何一种,或使用以下快捷方式:
'r' - 红色'g' - 绿色'b' - 蓝色'c' - 青色'm' - 品红色'y' - 黄色'k' - 黑色'w' - 白色要为每个楔形添加解释列表,请使用 legend() 函数:
添加图例:
import matplotlib.pyplot as plt import numpy as np y = np.array([35, 25, 25, 15]) mylabels = ["Apples", "Bananas", "Cherries", "Dates"] plt.pie(y, labels = mylabels) plt.legend() plt.show()运行实例 »
点击 "运行实例" 按钮查看在线实例
要向图例中添加标题,请将 title 参数添加到 legend 函数中。
添加带标题的图例:
import matplotlib.pyplot as plt import numpy as np y = np.array([35, 25, 25, 15]) mylabels = ["Apples", "Bananas", "Cherries", "Dates"] plt.pie(y, labels = mylabels) plt.legend(title = "Four Fruits:") plt.show()运行实例 »
点击 "运行实例" 按钮查看在线实例
相关
视频
RELATED VIDEOS
科技资讯
1
2
3
4
5
6
7
8
9
精选课程
共5课时
17.2万人学习
共49课时
77.2万人学习
共29课时
61.8万人学习
共25课时
39.4万人学习
共43课时
71.1万人学习
共25课时
61.7万人学习
共22课时
23万人学习
共28课时
34万人学习
共89课时
125.4万人学习