使用matplotlib的任意键或图例

时间:2013-06-20 08:58:04

标签: python matplotlib

我有一个三维数据图,其中第三维通过改变第二个图上的线的颜色来表示,如下例所示:Multicolored line example

有没有办法制作一个键或图例来显示每种颜色的含义?由于此示例的工作方式,我看不出它是如何实现的,并且无法在线查看有关创建任意键的任何内容。我知道颜色和它们的意思,我希望我能用这些信息以某种方式制作一个密钥。

感谢您的帮助。

2 个答案:

答案 0 :(得分:3)

嗯,你可以通过绘制一组代表真实五彩线中每种颜色的虚拟线来“欺骗”:

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)

我不确定是否有更简洁的方法。

答案 1 :(得分:1)

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

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")