matplotlib箭头定位

发布于 2025-01-28 11:35:26 字数 1257 浏览 1 评论 0原文

我注意到pyplot.arrow(white)的定位很奇怪。

我滥用pyplot.quiver(黑色)作为参考:

import numpy as np
import matplotlib.pyplot as plt

Z = np.random.random((50,50))

fig, ax = plt.subplots(figsize=(5.9,5.9))

im = ax.imshow(Z, origin='lower', cmap='coolwarm')

ax.hlines( 10 , 0, Z.shape[0]-1, color='black', ls='-', lw=1, alpha=.3)
ax.hlines( 40 , 0, Z.shape[0]-1, color='black', ls='-', lw=1, alpha=.3)

ax.arrow( 10, 10, 0, 30, color='white', head_width=1, length_includes_head=True)
ax.quiver(20, 10, 0, 30, angles='xy', scale_units='xy', scale=1)

ax.grid(visible=False)
fig.savefig('arrows.jpg', dpi=300)

“

头部过大的冲击...

“箭头”

...实际上也关闭了尾巴。

我是在做错事还是有办法解决这个问题?

I noticed that the positioning of pyplot.arrow (white) is odd.

I misused pyplot.quiver (black) as reference:

import numpy as np
import matplotlib.pyplot as plt

Z = np.random.random((50,50))

fig, ax = plt.subplots(figsize=(5.9,5.9))

im = ax.imshow(Z, origin='lower', cmap='coolwarm')

ax.hlines( 10 , 0, Z.shape[0]-1, color='black', ls='-', lw=1, alpha=.3)
ax.hlines( 40 , 0, Z.shape[0]-1, color='black', ls='-', lw=1, alpha=.3)

ax.arrow( 10, 10, 0, 30, color='white', head_width=1, length_includes_head=True)
ax.quiver(20, 10, 0, 30, angles='xy', scale_units='xy', scale=1)

ax.grid(visible=False)
fig.savefig('arrows.jpg', dpi=300)

plot

The head overshoots considerably ...

arrow heads

... and the tail is actually off as well.

arrow tails

Am I doing something wrong or is there a way to fix this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文