Python 使用matplotlib的任意键或图例

Python 使用matplotlib的任意键或图例,python,matplotlib,Python,Matplotlib,我有一个3d数据图,其中第三维通过改变2d图上线条的颜色来表示,如本例所示: 有没有办法制作一个按键或图例来显示每种颜色的含义?由于这个例子的工作方式,我看不到它是如何实现的,也看不到任何关于创建任意密钥的在线信息。因为我知道颜色和它们的意思,我希望我能利用这些信息来制作一把钥匙 谢谢您的帮助。好吧,您可以通过绘制一组虚拟线来“欺骗”,这些虚拟线代表您真正的多色线中的每种颜色: fig, ax = plt.subplots(1, 1) ax.hold(True) colors = ['r', '

我有一个3d数据图,其中第三维通过改变2d图上线条的颜色来表示,如本例所示:

有没有办法制作一个按键或图例来显示每种颜色的含义?由于这个例子的工作方式,我看不到它是如何实现的,也看不到任何关于创建任意密钥的在线信息。因为我知道颜色和它们的意思,我希望我能利用这些信息来制作一把钥匙


谢谢您的帮助。

好吧,您可以通过绘制一组虚拟线来“欺骗”,这些虚拟线代表您真正的多色线中的每种颜色:

fig, ax = plt.subplots(1, 1)
ax.hold(True)
colors = ['r', 'g', 'b']
labels = ['foo', 'bar', 'baz']
dummies = [ax.plot([], [], ls='-', c=c)[0] for c in colors]        
ax.legend(dummies, labels)

我不确定是否有更简洁的方法来实现这一点。

好吧,你可以通过画一组虚拟线来“作弊”,这些虚拟线代表你真正的多色线中的每种颜色:

fig, ax = plt.subplots(1, 1)
ax.hold(True)
colors = ['r', 'g', 'b']
labels = ['foo', 'bar', 'baz']
dummies = [ax.plot([], [], ls='-', c=c)[0] for c in colors]        
ax.legend(dummies, labels)

我不确定是否有更简洁的方法来实现这一点。

我不确定这是否有帮助,或者这是否是您所想的,但是您也可以使用颜色栏,如果您绘制的线条不可映射,请创建类似这样的虚拟颜色栏

Z = [[0,0],[0,0]]
levels = range(0,60)    #or whatever you need here
CS3 = contourf(Z, levels, **kwargs)
clf()                   #deletes the dummy plot
cb = colorbar(CS3)
cb.set_label("label")

我不确定这是否有帮助,或者是您正在考虑的,但是您也可以使用颜色栏,如果您绘制的线不可映射,请创建一个类似这样的虚拟颜色栏

Z = [[0,0],[0,0]]
levels = range(0,60)    #or whatever you need here
CS3 = contourf(Z, levels, **kwargs)
clf()                   #deletes the dummy plot
cb = colorbar(CS3)
cb.set_label("label")

有多少种颜色?对于一些人来说,制作一个阿里姆表演的定制传奇是可行的。对于许多(几乎连续的)颜色条可能更合适。只有5个,所以我想定制一个图例。有多少种颜色?对于一些人来说,制作一个阿里姆表演的定制传奇是可行的。对于许多(几乎连续的)颜色条可能更合适。只有5个,所以我想定制一个图例。