将集合添加到多个轴?

时间:2012-11-08 22:50:59

标签: matplotlib

我试图在我的图上向多个轴添加BrokenBarHCollection,如下所示:

barcollection = collections.BrokenBarHCollection(...
ax1 = plt.subplot(211)
ax1.add_collection(barcollection)
ax2 = plt.subplot(212)
ax2.add_collection(barcollection)
plt.show()

原样,该图仅显示第二个子图中的集合。如果我对ax2.add行进行注释,它只会在第一个子图中显示该集合。在第3行和第4行之间再次声明条形图使其显示在两个子图中。为什么会这样?

1 个答案:

答案 0 :(得分:2)

这是因为matplotlib个对象知道它们附加到哪个绘图,并且不会附加到多个。

如果使用copy module制作浅色副本,则可以跨多个轴重复使用大部分数据结构。

import copy
bc2 = copy.copy(barcollection)
ax2.add_collection(bc2)

最近还有另外一个问题,但我找不到它。