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,])
上面的回调函数用于在图中绘制箭头。我需要为他们添加图例。这些箭头是动态绘制的。上面的代码将只有一个图例。我尝试了this之类的解决方案,但不适用于matplotlib.pyplot.arrow
修改:
问题:我有两个彩色箭头,但只有一个图例
答案 0 :(得分:2)
为什么不只使用quiver()
?参见here。
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()