我想创建一个函数,在屏幕上的单个窗口中绘制一组图形。现在我写了这段代码:
import pylab as pl
def plot_figures(figures):
"""Plot a dictionary of figures.
Parameters
----------
figures : <title, figure> dictionary
"""
for title in figures:
pl.figure()
pl.imshow(figures[title])
pl.gray()
pl.title(title)
pl.axis('off')
它工作得很好,但我希望可以选择在单个窗口中绘制所有图形。而这段代码没有。我读了一些关于子图的东西,但它看起来很棘手。
原文由 blueSurfer 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以根据 --- 的 subplots 命令(注意最后的 s ,不同于
subplot
matplotlib.pyplot
的命令)定义一个函数。下面是一个基于您的函数的示例,允许在图中绘制多个轴。您可以定义图形布局中所需的行数和列数。
基本上,该函数根据所需的行数(
nrows
)和列数(ncols
)在图中创建多个轴,然后遍历轴列表绘制图像并为每个图像添加标题。Note that if you only have one image in your dictionary, your previous syntax
plot_figures(figures)
will work sincenrows
andncols
are set to1
默认情况下。您可以获得的示例: