我目前在Matplotlib中进行一些“花哨”的注释:
import matplotlib.pyplot as plt
ax = plt.subplot(111)
plt.axis('equal')
src_pos, dst_pos = (0, 0), (1, 1)
src_patch = plt.Rectangle(src_pos, .25, .25, color='r')
ax.add_patch(src_patch)
dst_patch = plt.Circle(dst_pos, .25, color='b')
ax.add_patch(dst_patch)
arrowprops = dict(
arrowstyle='<-',
connectionstyle='arc3,rad=0.3',
patchA=dst_patch,
patchB=src_patch,
shrinkA=1,
shrinkB=1)
ant = ax.annotate('', src_pos, dst_pos, arrowprops=arrowprops)
plt.draw()
plt.show()
现在我想在箭头旁边添加一些文本。输出应该如下图所示:
[image]
我对一般解决方案感兴趣,其中文本放置是根据渲染器选择的箭头路径进行编程选择的。例如,
- 对于未知的src_pos和dst_pos值,应适当地放置文本。 - 无论如何设置arrowprops和使用哪种connectionstyle,都应适当地放置文本。 - 我希望在脚本结束之前不必调用plt.draw()。
谢谢!