如何在 Matplotlib 中制作循环箭头?


要在 Matplotlib 中制作循环箭头,我们可以采取以下步骤 −

  • 设置图形大小并调整子图之间的填充和周围的填充。
  • 要在 matplotlib 中制作循环箭头,我们可以使用make_loop()方法。
  • 使用center、radius、theta1、theta2和宽度制作一个楔形实例。
  • 若要将箭头放在循环顶部,请使用PathCollection。
  • 将补丁集合添加到当前轴。
  • 若要显示图形,请使用show()方法。

示例

from matplotlib import pyplot as plt, patches, collections

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

def make_loop(center, radius, theta1=-30, theta2=180):
   rwidth = 0.02
   ring = patches.Wedge(center, radius, theta1, theta2, width=rwidth)
   offset = 0.02
   xcent = center[0] - radius + (rwidth / 2)
   left = [xcent - offset, center[1]]
   right = [xcent + offset, center[1]]
   bottom = [(left[0] + right[0]) / 2., center[1] - 0.05]
   arrow = plt.Polygon([left, right, bottom, left])
   p = collections.PatchCollection(
      [ring, arrow],
      edgecolor='orange',
      facecolor='red'
   )
   ax.add_collection(p)
fig, ax = plt.subplots()
make_loop(center=(.5, .7), radius=.1)

plt.show()

输出

更新日期:2021 年 6 月 17 日

132 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始
广告