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

我遇到麻烦的一件事是为每一行获取共享行标签。即在我的图中,我有四行用于四组不同的实验,所以我想要行标签“1 个源节点、2 个源节点、4 个源节点和 8 个源节点”。
请注意,我指的不是y轴标签,它用于标记因变量。所有子图中的因变量都是相同的,但我后面的行标签是描述所进行的四类实验,每一行一个。
目前,我正在生成情节:
fig, axes = plt.subplots(4, 5, sharey=True)
Run Code Online (Sandbox Code Playgroud)
虽然我找到了大量有关共享 y 轴标签的信息,但我还没有找到有关添加单个共享行标签的任何信息。
据我所知没有ytitle或有什么。您可以用来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()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2785 次 |
| 最近记录: |