我试图在一个图形中绘制三个面板(共三个),但我得到的只是一个空网格和三个内部面板。我做错了什么?
def plot_qc_metrics(adata, key):
pg.qc_metrics(adata, min_genes=100, mito_prefix='MT-')
pg.filter_data(adata)
fig, ax = plt.subplots(1, 3, figsize=(15, 5), sharey=True)
fig.suptitle(key, fontsize=16)
sns.histplot(data = adata.obs, x = 'n_counts', bins=50, log_scale=True, ax=ax[0])
ax[0].set(xlim=(1, 100000), xlabel='log nUMI')
data = adata.obs['n_genes']
sns.histplot(data = adata.obs, x = 'n_genes', bins=50, log_scale=True, ax=ax[1])
ax[1].set(xlim=(1, 100000), xlabel='log nGenes')
data = np.log2(adata.obs['percent_mito'])
sns.histplot(data = data, x=data, bins=100, ax=ax[2])
# ax[2].set(xlim=(np.min(data), np.max(data)), xlabel='log2(percent_mito)')
ax[2].xaxis.set_major_formatter(ticker.FuncFormatter(lambda x, pos: '$2^{%.0f}$' % x))
return fig, ax
adata_dict = {
'org_1': org_1,
'org_2': org_2,
'org_3': org_3
}
fig, ax = plt.subplots(nrows = 3, ncols = len(adata_dict), figsize=(15, 5), sharey=True)
for i, (key, adata) in enumerate(adata_dict.items()):
subfig, subax = plot_qc_metrics(adata, key)
ax[i] = subax
plt.tight_layout()
plt.show()