创建一个没有轴但有标题和 y 标签的子图

Create a subplot without axis but with title and y label

我正在尝试创建一个轴关闭的子图,但我想包括标签。这是我的代码。我在某处读到,如果我这样做 plt.axis('off') 它甚至会隐藏标签。有什么解决方法吗?这是我的代码。

fig, ax = plt.subplots(3, 10, figsize=(20,7))
i = 0
for row in range(3):
    for col in range(10):
        if row == 0:
            ax[row][col].imshow(final[i])
            ax[row][col].set_title(temp_df.columns[col])
        
        ax[row][col].tick_params(top='off', bottom='off', left='off', right='off', labelleft='on', labelbottom='off')
        ax[row][col].imshow(final[i])
        # ax[row][col].axis('off')
        # ax[row][col].tick_params(axis='both', which='both',length=0)
        if col == 0:
            ax[row][col].set_ylabel(str(cols[row]))
        
        i += 1

生成的子图快照:

如何生成轴关闭的绘图并在绘图中添加标签?

如果我理解正确,您可以通过将空列表传递给 ax.set_xticksax.set_yticks:

来删除轴刻度
ax[row][col].set_xticks([])
ax[row][col].set_yticks([])

完整代码

import matplotlib.pyplot as plt
import numpy as np

fig, ax = plt.subplots(3, 10, figsize = (20, 7))
for row in range(3):
    for col in range(10):
        if row == 0:
            ax[row][col].set_title('your title')

        ax[row][col].tick_params(top = 'off', bottom = 'off', left = 'off', right = 'off', labelleft = 'on', labelbottom = 'on')
        ax[row][col].imshow(np.random.randint(0, 10, (10, 10)))
        ax[row][col].set_xticks([])
        ax[row][col].set_yticks([])
        ax[row][col].set_xlabel('x label')
        if col == 0:
            ax[row][col].set_ylabel(f'row = {row}')

plt.show()