我想在对数日志中绘制箭头,这些箭头具有不同的长度但应该具有相似的头部。头部宽度确实相同,但头部的长度似乎与箭头长度成比例。如何让右箭头的短头看起来像另一个头?
from matplotlib.pyplot import gca,show
ax = gca()
ax.set_xlim(1e-4,1e4)
ax.set_xscale('log')
ax.set_ylim(1e-4,1e4)
ax.set_yscale('log')
opt = dict(color='r',width=5)
a1 = gca().annotate('',xy=(1e-1,1e-3),xycoords='data',xytext =(1e-1,1e1),textcoords = 'data',arrowprops=opt)
a2 = gca().annotate('',xy=(1e2,1e-3), xycoords='data',xytext =(1e1,1e-3),textcoords = 'data',arrowprops=opt)
show()
答案 0 :(得分:2)
您可以像arrowprops
这样调整头部和连接方式(对于完整的选项see the matplotlib docs:
opt = dict(color='r',
arrowstyle = 'simple,head_width=.75,head_length=.75',
connectionstyle = 'arc3,rad=0')
然后要调整箭头的宽度,请使用size
中的annotate
参数:
a1 = gca().annotate('',xy=(1e-1,1e-3),xycoords='data',xytext =(1e-1,1e1),textcoords = 'data',arrowprops=opt,size=20)
a2 = gca().annotate('',xy=(1e2,1e-3), xycoords='data',xytext =(1e1,1e-3),textcoords = 'data',arrowprops=opt,size=20)
show()