我试图使用matplotlib的注释绘制两端带有箭头的直线。但当我绘制它们时,箭头的尖端并没有在图中所示的指定坐标处开始或结束。提示应该从0.6和0.8开始和结束,但它们不是。在
可复制代码
import matplotlib.pyplot as plt
fig = plt.figure(figsize = (5, 5))
plt = plt.subplot(111)
plt.axvline(0.6)
plt.axvline(0.8)
plt.axhline(0.6)
plt.axhline(0.8)
plt.annotate('', xy = (0.6, 0.33), xycoords = 'axes fraction', \
xytext = (0.8, 0.33), textcoords = 'axes fraction', fontsize = 7, \
color = '#303030', arrowprops=dict(edgecolor='black', arrowstyle = '<->'))
plt.annotate('', xy = (0.33, 0.6), xycoords = 'axes fraction', \
xytext = (0.33, 0.8), textcoords = 'axes fraction', fontsize = 7, \
color = '#303030', arrowprops=dict(edgecolor='black', arrowstyle = '<->'))
fig.savefig('arrow_head.pdf')
为什么会这样?如何让提示在各自的坐标处开始或结束?
根据文档here,路径被}中给定的参数缩小,大概是为了在箭头指向某个对象时提供一点间距。默认值为2,因此如果将它们设置为0,间距应该会消失。是这样的:
shrinkA
和{相关问题 更多 >
编程相关推荐