昨天我问了一个基于误解的问题。我现在更清楚我实际上在问什么。
我想在两个轴之间绘制一个箭头,并且旁边有文字,就像我在这里手动绘制的一样:
import matplotlib.pyplot as plt
from matplotlib import patches
import numpy as np
fig = plt.figure()
X, Y = np.mgrid[-1:1:.1, -1:1:.1]
Z = X+Y
ax1 = fig.add_subplot(311)
ax2 = fig.add_subplot(313)
ax1.contourf(X, Y, Z)
ax2.contourf(X, Y, -Z)
con = patches.ConnectionPatch((0,0),
(0,0),
coordsA="data",
coordsB="data",
arrowstyle="<|-",
mutation_scale=20,
axesA=ax2,
axesB=ax1)
ax2.add_artist(con)
fig.show()
有文字旁边的箭头他们中的一个轴是可以做到的ax.annotate()。在轴之间绘制箭头可以使用ConnectionPatch. 但是,文档说:
ConnectionPatch 就像一个没有文本的注释。虽然在大多数情况下推荐使用 annotate 函数,但 ConnectionPatch 在您想要连接不同轴上的点时很有用。
因此,从这听起来像 API 没有以用户友好的方式涵盖这两个(轴间箭头和文本)。
好吧……但必须有一种至少可口的方式来解决这个问题,对吧?昨天对我的问题的回答是基于我的误解。所以,我希望有一个更好的解决方案基于这个我重新提出的问题。
那么,是否有一种强大的方法可以将文本添加到轴间箭头(如ConnectionPatch),而无需摆弄坐标ax.text或诸如此类的废话?
慕瓜9503470
相关分类