如何将几个Matplotlib图形合并为一个图形?

15

我有几个 matplotlib 图形对象,我想通过将它们并排放置在一起来组合成一个大的图形。

  1. 如何将它们放入同一个图形中?
  2. 如何使它们具有相同的高度?

请注意,我无法更改单个图形的创建方式。我只能使用生成的图形对象。


我猜最后一行的意思是不能使用子图? - askewchan
没错,至少不是按照通常的方式将几个图形排列在一个图中。 - Se Norm
你使用哪个GUI后端? - HYRY
WXAgg. 这有什么关系呢?作为最终输出,我可能更喜欢高分辨率的PNG或者PDF。 - Se Norm
您可以将图形保存为PNG文件,并将多个PNG文件合并成一个大的PNG图像。 - HYRY
这是我现在使用PIL做的。我希望有一个更丰富的方式,比如matplotlib中可用的subplot网格。 - Se Norm
1个回答

6

看起来没有(可靠的-见底部)matplotlib方法可以做到这一点,所以只能使用图像处理工具对图形输出进行处理。我正在使用PNG和PIL。另一个可能性是像这样使用SVG:http://neuroscience.telenczuk.pl/?p=331

这是一个相关的问题:matplotlib:我可以创建AxesSubplot对象,然后将它们添加到Figure实例中吗?

这是一种在2012年似乎有效的方法,由Joe Kington提出:

现在,Axes不打算在不同的图之间共享。 作为解决方法,您可以执行此操作fig2._axstack.add(fig2._make_key(a),a),但它很hackish并且可能会在将来发生变化。 它似乎正常工作,但它可能会破坏某些事情。

我还没有尝试它是否仍然可以工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接