如何使用python matplotlib库绘制扇形?

使用matplotlib.patches.Wedge可绘制扇形,需指定圆心、半径、起始和终止角度。1. 导入matplotlib.pyplot和matplotlib.patches;2. 创建图形与坐标轴;3. 定义Wedge参数并生成扇形对象;4. 用add_patch将扇形添加至坐标轴;5. 设置set_aspect('equal')保证形状不变形;6. 调整set_xlim和set_ylim确保图形完整显示;7. 可自定义facecolor、edgecolor、alpha、linewidth等属性控制外观;8. 通过循环叠加多个Wedge实现饼图效果。plt.show()最终展示结果。

使用 Python 的 matplotlib 库绘制扇形,可以通过 matplotlib.patches.Wedge 实现。Wedge 类允许你指定圆心、半径、起始角度和终止角度来绘制一个扇形。

导入必要的库

你需要导入 matplotlib.pyplotmatplotlib.patches

import matplotlib.pyplot as plt
import matplotlib.patches as patches

创建扇形并添加到图形中

使用 patches.Wedge() 创建一个扇形对象,然后通过 add_patch() 方法将其添加到坐标轴上:

# 创建图形和坐标轴
fig, ax = plt.subplots()

# 定义扇形参数:圆心(x, y)、半径、起始角度、结束角度
wedge = patches.Wedge(center=(0, 0), r=1, theta1=0, theta2=90, fill=True, color='lightblue')

# 将扇形添加到坐标轴
ax.add_patch(wedge)

# 设置坐标轴比例为相等,确保圆形不变形
ax.set_aspect('equal')

# 设置坐标范围,以便看到完整图形
ax.set_xlim(-1.5, 1.5)
ax.set_ylim(-1.5, 1.5)

# 显示图形
plt.grid(True)
plt.show()

调整颜色、边框和透明度

你可以自定义扇形的外观,比如填充色、边框线、透明度等:
  • fill:是否填充颜色(True/False)
  • colorfacecolor:填充颜色
  • edgecolor:边框颜色
  • alpha:透明度(0~1)
  • linewidth:边框宽度

示例:

wedge = patches.Wedge(
center=(0, 0), r=1, theta1=45, theta2=180,
facecolor='gold', edgecolor='darkred',
linewidth=2, alpha=0.7
)
ax.add_patch(wedge)

绘制多个扇形(类似饼图)

你可以叠加多个 Wedge 来组成一个饼图风格的图形:

angles = [(0, 90), (90, 180), (180, 270), (270, 360)]
colors = ['red', 'green', 'blue', 'yellow']

for (start, end), color in zip(angles, colors):
wedge = patches.Wedge(center=(0, 0), r=1, theta1=start, theta2=end,
facecolor=color, alpha=0.8)
ax.add_patch(wedge)

基本上就这些。通过 Wedge 可以灵活控制扇形的位置和样式,适合用于可视化角度区域或自定义图表。