1

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

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

谢谢你的帮助。

4

2 回答 2

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)

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

于 2013-06-20T09:25:29.420 回答
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")
于 2013-06-20T09:39:35.233 回答