0
import matplotlib.pyplot as plt
def plot_arrow(arrow_type):
    if arrow_type == 'good_arrow':
        arrow_color = 'g'
    ar = plt.arrow(x, y, dx , dy, label=arrow_type, fc=arrow_color)
    plt.legend([ar,], [arrow_type,])

上述回调函数用于在绘图中绘制箭头。我需要为他们添加图例。这些箭头是动态绘制的。上面的代码只有一个图例。我尝试了这样的解决方案,这些都不起作用 matplotlib.pyplot.arrow

编辑

问题:我有两个彩色箭头,但只有一个图例

绘图示例: 在此处输入图像描述

4

1 回答 1

2

为什么不只quiver()在你的情况下使用?见这里

在此处输入图像描述

import matplotlib.pyplot as plt
import numpy as np

plt.figure()

def rand(n):
    return 2.0*np.random.rand(n)-1.0

def plt_arrows(n, c, l, xpos, ypos):
    X, Y = rand(n), rand(n)
    U, V = 4.*rand(n), 4.*rand(n)
    Q = plt.quiver(X, Y, U, V, angles="xy", scale=30, label=l, color=c)
    qk = plt.quiverkey(Q, xpos, ypos, 2, label=l, labelpos='N', labelcolor=c)

plt_arrows(20, "g", "good", 1.05, 0.9)
plt_arrows(20, "r", "bad", 1.05, 0.8)

plt.show()
于 2018-08-03T22:13:43.147 回答