使用 matplotlib 创建图形
Posted
技术标签:
【中文标题】使用 matplotlib 创建图形【英文标题】:Create a figure of figures with matplotlib 【发布时间】:2017-07-04 10:51:11 【问题描述】:我想知道是否有一种方法可以将使用 matplotlib 创建的多个图形组合成一个独特的图形。
现有的大多数主题都与一个图中的多个情节有关。但是在这里,我有几个函数都创建了一个详细的图形(不仅仅是一个情节,这个图形本身是一个包含文本、标题、图例的多重情节......)
那么除了使用Word之类的软件对这几个图形进行布局之外,有没有办法在python下直接将我的所有图形组合成一个独特的图形?
提前谢谢你!
【问题讨论】:
我猜你还没有完全理解figures
和axes
的概念。看看这个帖子,最近对我帮助很大:pbpython.com/effective-matplotlib.html
How to make several plots on a single page using matplotlib?的可能重复
谢谢@mattmilten!确实,它仍然有点令人困惑;)您提供的链接太棒了!道德:在盲目钻研编码之前,总是花时间了解基础知识。
【参考方案1】:
matplotlib 中图形的概念不允许图形内部有图形。该图是其他艺术家的画布,例如轴。当然,您可以根据需要为图形添加任意数量的轴。因此,例如,您可以创建一个具有 10 个轴的图形,而不是一个具有 4 个轴的图形和另一个具有 6 个轴的图形。
一个不错的选择可能是使用 gridspec,具体请参见 matplotlib page。
【讨论】:
谢谢!我认为这回答了我的问题。我应该使用 Axes,然后将这些不同的轴组合在一个图中。【参考方案2】:经过额外的研究,我的问题似乎在 Matplotlib 本身中没有简单的解决方案。多图布局需要对图进行外部后处理。
对于那些有同样问题的人,这里有一个有趣的链接: Publication-quality figures with matplotlib and svgutils
【讨论】:
以上是关于使用 matplotlib 创建图形的主要内容,如果未能解决你的问题,请参考以下文章