Matplotlib:强加个性化的colorbar

时间:2017-02-06 15:35:40

标签: matplotlib

背景故事:

我正在制作两个地块。一个图是带有颜色图的标准散点图。另一个图包含多个直方图,每个直方图具有不同的颜色,映射到前一个图的颜色图。我现在想要在这个新图中显示前一个图的色彩图。这是一段代码:

#plot 1
f1, ax1 = plt.subplots()
sc = ax1.scatter(x, y, c=z)
cb = f1.colorbar(sc)
f1.show()

#plot 2
f2, ax2 = plt.subplots()
h1 = ax2.hist(x1, color=cb.to_rgba(val1))
h2 = ax2.hist(x2, color=cb.to_rgba(val2))
h3 = ax2.hist(x3, color=cb.to_rgba(val3))

现在我想将cb(来自f1图)添加到这个新情节中。像f2.set_colorbar(cb)这样的东西不存在。

问题

给定使用f2, ax2 = plt.subplots()生成的图并给出颜色条,如何强制matplotlib在此图中插入给定的颜色条?请注意,颜色条不需要与图中的数据相关联

1 个答案:

答案 0 :(得分:1)

您可以根据第一个数字散点图的PathCollection向第二个数字添加另一个颜色条。

f1, ax1 = plt.subplots()
sc = ax1.scatter(x, y, c=z)
cb = f1.colorbar(sc)
f1.show()

#plot 2
f2, ax2 = plt.subplots()
cb2 = f2.colorbar(sc)