使用 matplotlib 创建图形

Posted

技术标签:

【中文标题】使用 matplotlib 创建图形【英文标题】:Create a figure of figures with matplotlib 【发布时间】:2017-07-04 10:51:11 【问题描述】:

我想知道是否有一种方法可以将使用 matplotlib 创建的多个图形组合成一个独特的图形。

现有的大多数主题都与一个图中的多个情节有关。但是在这里,我有几个函数都创建了一个详细的图形(不仅仅是一个情节,这个图形本身是一个包含文本、标题、图例的多重情节......)

那么除了使用Word之类的软件对这几个图形进行布局之外,有没有办法在python下直接将我的所有图形组合成一个独特的图形?

提前谢谢你!

【问题讨论】:

我猜你还没有完全理解figuresaxes 的概念。看看这个帖子,最近对我帮助很大: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 创建图形的主要内容,如果未能解决你的问题,请参考以下文章

Python 使用 matplotlib绘制3D图形

Matplotlib 图形图像转 base64

python matplotlib生成图形

matplotlib.pyplot 导引

数据分析之matplotlib篇

数据分析之matplotlib篇