包含子地块的地块中的matplotlib共享行标签(不是y标签)

包含子地块的地块中的matplotlib共享行标签(不是y标签),matplotlib,Matplotlib,我想在matplotlib中生成一个网格状的情节。下面是我想要的东西的草图: 有一件事我遇到了麻烦,那就是为每一行获取一个共享的行标签。也就是说,在我的绘图中,我有四行用于四组不同的实验,因此我需要行标签“1个源节点、2个源节点、4个源节点和8个源节点” 请注意,我不是指y轴标签,它用于标记因变量。因变量在所有子批次中都是相同的,但我要找的行标签是描述所进行的四类实验,每行一个 目前,我正在生成以下绘图: fig, axes = plt.subplots(4, 5, sharey=True)

我想在matplotlib中生成一个网格状的情节。下面是我想要的东西的草图:

有一件事我遇到了麻烦,那就是为每一行获取一个共享的行标签。也就是说,在我的绘图中,我有四行用于四组不同的实验,因此我需要行标签“1个源节点、2个源节点、4个源节点和8个源节点”

请注意,我不是指y轴标签,它用于标记因变量。因变量在所有子批次中都是相同的,但我要找的行标签是描述所进行的四类实验,每行一个

目前,我正在生成以下绘图:

fig, axes = plt.subplots(4, 5, sharey=True)

虽然我找到了很多关于共享y轴标签的信息,但我没有找到任何关于添加单个共享行标签的信息。

据我所知,没有
yttle
或其他内容。您可以使用
text
显示一些文本。
x
y
位于数据坐标中
ha
va
分别为水平和垂直对齐

import numpy
import matplotlib 
import matplotlib.pyplot as plt

n_rows = 4
n_cols = 5
fig, axes = plt.subplots(n_rows, n_cols, sharey = True)

axes[0][0].set_ylim(0,10)

for i in range(n_cols):
    axes[0][i].text(x = 0.5, y = 12, s = "column label", ha = "center")
    axes[n_rows-1][i].set_xlabel("xlabel")

for i in range(n_rows):
    axes[i][0].text(x = -0.8, y = 5, s = "row label", rotation = 90, va = "center")
    axes[i][0].set_ylabel("ylabel")

plt.show()

你可以像Robbert建议的那样给第一行的子地块命名

fig, axes = plt.subplots(4,3)

for i, ax in enumerate(axes[0,:]):
    ax.set_title('col%i'%i)

你们也制作列标签吗?如果是这样的话,您是使用
ax.set_title()
还是其他方法?我还需要列标签,尽管还没有实现它或决定最好的方法。