我无法使箭头显示如我所愿。这是我要执行的操作的一个示例:
import matplotlib.pyplot as plt
import numpy as np
b = np.arange(5)*-1E-4
a = np.arange(5)
fig, ax = plt.subplots()
ax.plot(a,b, linewidth=3, color="k")
plt.arrow(1,-0.00010,0,-0.00005, shape='full', lw=3, length_includes_head=True, head_width=.01)
plt.show()
Run Code Online (Sandbox Code Playgroud)
据我了解,这应该会产生一个箭头,起始于(1,-0.00010)并终止于(1,-0.00015),但是结果是一条更长的线,不再像箭头一样出现,并且不再以正确的观点。
Dav*_*idG 15
由于您使用的是如此小的比例,因此您未明确传递给的某些参数plt.arrow将使用其默认值,在您的情况下,这不会产生很好的结果。
查看文档,如果没有传递宽度值,则默认值为 0.001,则头部宽度将为 0.003,头部长度将为 0.0015。因为使用默认值的头部宽度太小,而头部长度太大,你会在问题中看到输出
因此,您需要传入参数head_width和head_length:
plt.arrow(1, -0.00010, 0, -0.00005, length_includes_head=True,
head_width=0.08, head_length=0.00002)
Run Code Online (Sandbox Code Playgroud)
这使:
您可以使用注释绘制箭头。matplotlib 文档
a = np.linspace(-2,2, 100)
plt.plot(a, a**2)
plt.annotate("here", xy=(0, 0), xytext=(0, 2), arrowprops=dict(arrowstyle="->"))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10966 次 |
| 最近记录: |