【发布时间】:2017-02-06 15:35:40
【问题描述】:
背景故事:
我正在制作两个地块。一个图是带有彩色图的标准散点图。另一个图包含多个直方图,每个直方图都有不同的颜色,映射到前一个图的颜色图。我现在想在这个新图中显示上一个图的颜色图。这是一段sn-p代码:
#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 在该图中插入给定的颜色条?请注意,颜色条不需要与绘图内的数据相关
【问题讨论】:
-
为什么
cb2 = f2.colorbar(sc)不是一个选项? -
我试过了,效果很好!我没有尝试过,因为我不认为我可以将
f1的图传递给图形f2的函数。谢谢。如果你愿意,你可以发布作为答案。 -
有时您可以通过尝试和犯错来了解更多信息。虽然原则上你是正确的,你不能同时在两个数字中拥有相同的艺术家,但在这里你没有将散点图本身放在新轴上,而是
f2.colorbar(sc)将创建一个新轴,它有自己的艺术家基于属性散点图。 -
感谢先生的人生课程
标签: matplotlib