注解
Click here 下载完整的示例代码
箭头指南¶
向绘图中添加箭头补丁。
箭头通常用于标注绘图。本教程演示如何绘制在更改绘图上的数据限制时行为不同的箭头。通常,绘图上的点可以固定在“数据空间”或“显示空间”中。当数据限制改变时,在数据空间中绘制的一些东西就会移动——例如散点图中的点。当更改数据限制时,显示空间中绘制的某些内容将保持静态-例如图形标题或轴标签。
箭头由一个头部(可能还有一个尾巴)和一个绘制在起点和终点之间的杆组成,从现在起称为“锚点”。这里我们展示了三种绘制箭头的用例,这取决于头部或锚点是否需要在数据或显示空间中固定:
- 头部形状固定在显示空间,定位点固定在数据空间
- 头部形状和定位点固定在显示空间中
- 整个补丁固定在数据空间中
下面依次介绍每个用例。
显示空间中固定的头部形状和数据空间中固定的定位点¶
如果要对绘图进行注释,并且在平移或缩放绘图时不希望箭头更改形状或位置,则此选项非常有用。注意,当轴限制发生变化时
在这种情况下,我们使用 patches.FancyArrowPatch
请注意,更改轴限制时,箭头形状保持不变,但定位点移动。

出:
(0.0, 2.0)
头部形状和定位点固定在显示空间中¶
如果要对绘图进行注释,并且在平移或缩放绘图时不希望箭头更改形状或位置,则此选项非常有用。
在这种情况下,我们使用 patches.FancyArrowPatch
,并传递关键字参数 transform=ax.transAxes
在哪里? ax
是我们要添加补丁的轴。
请注意,更改轴限制时,箭头形状和位置保持不变。
fig, axs = plt.subplots(nrows=2)
arrow = mpatches.FancyArrowPatch((x_tail, y_tail), (dx, dy),
mutation_scale=100,
transform=axs[0].transAxes)
axs[0].add_patch(arrow)
arrow = mpatches.FancyArrowPatch((x_tail, y_tail), (dx, dy),
mutation_scale=100,
transform=axs[1].transAxes)
axs[1].add_patch(arrow)
axs[1].set_xlim(0, 2)
axs[1].set_ylim(0, 2)

出:
(0.0, 2.0)
数据空间中固定的头部形状和锚定点¶
在这种情况下,我们使用 patches.Arrow
请注意,当轴限制发生更改时,箭头形状和位置会发生更改。

出:
(0.0, 2.0)
plt.show()
脚本的总运行时间: (0分1.295秒)
关键词:matplotlib代码示例,codex,python plot,pyplot Gallery generated by Sphinx-Gallery