Matplotlib 饼图
最后修改于 2025 年 2 月 25 日
Matplotlib 是一个强大的 Python 库,用于创建静态、动画和交互式可视化。饼图用于可视化数据集中类别的比例。本教程介绍了如何使用 Matplotlib 创建各种类型的饼图。
饼图非常适合显示类别的大小相对于整体的比例。 Matplotlib 提供了一个灵活且易于使用的界面,用于创建具有自定义设置的饼图。
基本饼图
此示例演示如何创建基本饼图。
basic_pie_chart.py
import matplotlib.pyplot as plt # Data labels = ['A', 'B', 'C', 'D'] sizes = [15, 30, 45, 10] # Create a pie chart plt.pie(sizes, labels=labels) # Add a title plt.title("Basic Pie Chart") # Display the chart plt.show()
plt.pie()
函数用于创建饼图。 labels
参数为每个切片分配标签。
自定义饼图
此示例演示如何使用颜色、突出显示和阴影效果自定义饼图。
custom_pie_chart.py
import matplotlib.pyplot as plt # Data labels = ['A', 'B', 'C', 'D'] sizes = [15, 30, 45, 10] colors = ['gold', 'lightcoral', 'lightskyblue', 'lightgreen'] explode = (0.1, 0, 0, 0) # "Explode" the first slice # Create a pie chart with custom styles plt.pie(sizes, explode=explode, labels=labels, colors=colors, shadow=True, startangle=90) # Add a title plt.title("Custom Pie Chart") # Display the chart plt.show()
explode
、colors
、shadow
和 startangle
参数用于自定义饼图的外观。
带有百分比的饼图
此示例演示如何在饼图的每个切片上显示百分比。
pie_chart_with_percentages.py
import matplotlib.pyplot as plt # Data labels = ['A', 'B', 'C', 'D'] sizes = [15, 30, 45, 10] # Create a pie chart with percentages plt.pie(sizes, labels=labels, autopct='%1.1f%%') # Add a title plt.title("Pie Chart with Percentages") # Display the chart plt.show()
autopct
参数用于在每个切片上显示百分比。
甜甜圈图
此示例演示如何创建甜甜圈图。
donut_chart.py
import matplotlib.pyplot as plt # Data labels = ['A', 'B', 'C', 'D'] sizes = [15, 30, 45, 10] # Create a pie chart plt.pie(sizes, labels=labels, startangle=90) # Draw a circle at the center to create a donut chart centre_circle = plt.Circle((0, 0), 0.7, color='white') fig = plt.gcf() fig.gca().add_artist(centre_circle) # Add a title plt.title("Donut Chart") # Display the chart plt.show()
plt.Circle()
函数用于在饼图的中心绘制一个白色圆圈,从而创建一个甜甜圈图。
嵌套饼图
此示例演示如何创建嵌套饼图。
nested_pie_chart.py
import matplotlib.pyplot as plt # Data for the outer pie outer_labels = ['A', 'B', 'C', 'D'] outer_sizes = [15, 30, 45, 10] # Data for the inner pie inner_labels = ['X', 'Y', 'Z'] inner_sizes = [25, 35, 40] # Create the outer pie chart plt.pie(outer_sizes, labels=outer_labels, radius=1.2, wedgeprops=dict(width=0.3, edgecolor='w')) # Create the inner pie chart plt.pie(inner_sizes, labels=inner_labels, radius=0.8, wedgeprops=dict(width=0.4, edgecolor='w')) # Add a title plt.title("Nested Pie Chart") # Display the chart plt.show()
radius
和 wedgeprops
参数用于创建嵌套饼图。
饼图的最佳实践
- 限制类别数量: 饼图用于类别数量较少的数据集。
- 使用百分比: 显示百分比以使图表更易于解释。
- 避免标签重叠: 通过调整图表大小或使用图例来确保标签不重叠。
- 使用突出显示来强调: 使用
explode
参数来突出显示特定切片。
来源
在本文中,我们探讨了使用 Matplotlib 的各种类型的饼图,包括基本饼图、自定义饼图、甜甜圈图和嵌套饼图。
作者
列出 所有 Python 教程。