我试图在一个图形中绘制三个面板(共三个),但我得到的只是一个空网格和三个内部面板。我做错了什么?
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()