Matplotlib:应用个性化颜色栏 背景故事:

Matplotlib:应用个性化颜色栏 背景故事:,matplotlib,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

我正在制作两个情节。一个图是带有彩色贴图的标准散点图。另一个图包含多个直方图,每个直方图具有不同的颜色,该颜色映射到上一个图的颜色映射。现在我想在这个新绘图中显示上一个绘图的颜色贴图。下面是一段代码:

#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
plot)添加到这个新的plot中。类似于
f2.set\u colorbar(cb)
的内容不存在

问题:
给定使用
f2,ax2=plt.subplots()
生成的绘图以及给定的颜色栏,如何强制matplotlib在此绘图中插入给定的颜色栏?请注意,颜色条不需要与绘图内的数据相关

您只需根据第一个地物散点图的
路径集合
向第二个地物添加另一个颜色条即可

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)

为什么
cb2=f2.colorbar(sc)
不是一个选项?我试过了,效果很好!我没有试过,因为我不认为我可以将
f1
的绘图传递到图形
f2
的函数中。谢谢如果你愿意,你可以发布一个答案。有时候你通过尝试和犯错学到更多。虽然原则上你是正确的,你不能让同一个艺术家同时出现在两个人物中,但这里你并不是把散乱本身放在新的轴上,而是
f2。colorbar(sc)
将根据散乱的属性用自己的艺术家创建一个新的轴。谢谢生活课,先生