我想编写一个函数,该函数接收一系列轴对象(已经创建并在其中绘制数据)并将它们组成一个新的画廊,如图所示。
我的目标是像在这里看到的面孔画廊一样
但是生成这些图库的代码只能用于图像列表,而不能用于轴对象列表。
我想这样做,因为我有不同的功能来绘制这些轴对象,它们是独立的函数。我想保持模块化的干净。组成已经创建的轴应该是独立于绘制各个轴的动作。
考虑以下示例:
make_axes
是我的一项绘图功能的代表。
import matplotlib.pyplot as plt
import numpy as np
def make_axes():
data = np.random.rand(1000,2)*10
fig, ax = plt.subplots(1, 1)
ax.scatter(data[:,0], data[:,1])
return ax
我现在生成一个轴对象列表
axeses = [make_axes() for _ in range(9)]
然后定义我的合成函数
from math import ceil
def plot_gallery(axs, n_rows):
fig, axs_ = plt.subplots(ceil(len(axeses)/n_rows), n_rows)
# now somehow insert axs into figure and replace axs_
# axs_ = axs
并将轴对象组合成一个新图形
plot_gallery(axeses, 3)
...这显然不起作用。正如您所期望的,我得到了一个3x3的空轴对象网格。
但是 我怎么做呢?
重申一下,我希望在plot_gallery
中创建的3x3图形中的轴显示为axs
传递的轴。