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

Bry*_*mas 5 matplotlib

我试图在 matplotlib 中生成一个类似格子的图。这是我想要的草图:

在此输入图像描述

我遇到麻烦的一件事是为每一行获取共享行标签。即在我的图中,我有四行用于四组不同的实验,所以我想要行标签“1 个源节点、2 个源节点、4 个源节点和 8 个源节点”。

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

目前,我正在生成情节:

fig, axes = plt.subplots(4, 5, sharey=True)
Run Code Online (Sandbox Code Playgroud)

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

Rob*_*ert 4

据我所知没有ytitle或有什么。您可以用来text显示一些文本。和x位于y数据坐标中。hava分别是水平和垂直对齐。

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()
Run Code Online (Sandbox Code Playgroud)