FancyArrowPatch不是绘图室

2024-09-30 10:35:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我无法让FancyArrowPatch显示传递给labelkwarg的文本。我不知道我做错了什么。有什么想法吗?在

设置:

import matplotlib.pyplot as plt
from matplotlib import patches
import numpy as np

fig = plt.figure()

X, Y = np.mgrid[-1:1:.1, -1:1:.1]
Z = X+Y

ax1 = fig.add_subplot(311)
ax2 = fig.add_subplot(313)
ax1.contourf(X, Y, Z)
ax2.contourf(X, Y, -Z)

箭头代码:

^{pr2}$

我希望能画出一些箭头作为箭头的标签。但事实并非如此。 enter image description here


Tags: 文本importaddmatplotlibasnpfigplt
1条回答
网友
1楼 · 发布于 2024-09-30 10:35:13

原则上,它应该在代码中添加plt.legend()行之后工作。但是,有一个解决方案如下,您可以显式地传递arrow补丁和标签文本。在

^{1}$

另一种选择是

^{pr2}$

根据评论,正如我所说,label的目的不是将文本放在箭头补丁旁边。使用plt.text可以轻松实现您想要的。但是,如果您不想使用它,可以使用下面的解决方法使当前代码正常工作

leg = plt.legend(handles = [arrow], fontsize=16, frameon=False, loc=(0.45, 0.5))

for item in leg.legendHandles:
    item.set_visible(False)

enter image description here

相关问题 更多 >

    热门问题