Har*_*wel 6 python matplotlib python-2.7
我为了一个看似简单的问题而全身都在摸不着头脑.我试图调整Matplotlib中箭头的头宽.
这是一个有效的代码:
import numpy as np
import matplotlib.pyplot as plt
t = np.linspace(0,2*np.pi,500)
y = np.sin(t)
fig = plt.figure(figsize=(10,5))
ax = fig.add_subplot(111)
ax.plot(t,y)
ax.annotate('', xy=(1, -1), xytext=(2, 0),
arrowprops=dict(arrowstyle='<->', facecolor='black'))
Run Code Online (Sandbox Code Playgroud)

如图所示,它绘制了一个漂亮的双头箭头.现在当我想改变头宽时:
ax.annotate('', xy=(1, -1), xytext=(2, 0),
arrowprops=dict(arrowstyle='<->', facecolor='black',headwidth=10))
Run Code Online (Sandbox Code Playgroud)
要么
ax.annotate('', xy=(1, -1), xytext=(2, 0),
arrowprops=dict(arrowstyle='<->', facecolor='black',head_width=10))
Run Code Online (Sandbox Code Playgroud)
返回的错误是:
AttributeError: Unknown property headwidth
Run Code Online (Sandbox Code Playgroud)
要么
AttributeError: Unknown property head_width
Run Code Online (Sandbox Code Playgroud)
似乎我无法通过Google找到解决这个简单问题的任何资源.有什么出路吗?
非常感谢您的时间和关注!
Aje*_*ean 13
当你arrowstyle在arrowprops dict中指定一个时,你会得到一个FancyArrowPatch而不是YAArrow的实例,它接受不同的关键字(但是,你可能知道在尝试使用时head_width).文档中不直观的是,当您指定具有默认头设置的箭头样式等时,您可以在arrowstyle字符串中修改这些特定设置.这是此处文档中的相关行(强调我的):
arrowstyle描述了如何绘制花式箭头.它可以是可用箭头样式名称的字符串,带有可选的逗号分隔属性,也可以是ArrowStyle实例之一.
如果您将字典更改为以下字典,它将起作用:
arrowprops=dict(arrowstyle='<->, head_width=10', facecolor='black')
Run Code Online (Sandbox Code Playgroud)
请注意,head_width规范位于样式后面的逗号后面的字符串中. 旁白: 10对于那个来说是一个相当大的数字...... 0.5可能会更好!
| 归档时间: |
|
| 查看次数: |
4679 次 |
| 最近记录: |