【问题标题】:Matplotlib imshow remove axis but keep axis labelsMatplotlib imshow 删除轴但保留轴标签
【发布时间】:2021-08-26 08:27:00
【问题描述】:

我想在 python 中制作一个矩阵图数组。类似的东西

fig, ax = plt.subplots(nrows=3, ncols=4, figsize=(16, 12))
for i in range(3):
    ax[i][0].set_ylabel(str(i))
    for j in range(4):
        ax[0][j].set_title(str(j))
        ax[i][j].imshow(np.random.normal(0, 1, (50, 50)))
        #ax[i][j].axis('off')

plt.show()

我得到以下信息(称之为情节 1)

现在我想删除蜱虫和蜱虫所在的黑盒子。我取消注释 ax[i][j].axis('off') 行并得到以下内容(称之为 Plot 2)

现在的问题是我的 y 标签消失了!如何获得与第二个示例完全相同的数字,但使用与第一个示例相同的 y 标签?

【问题讨论】:

    标签: python python-3.x matplotlib plot


    【解决方案1】:

    试试这个:

    fig, ax = plt.subplots(nrows=3, ncols=4, figsize=(16, 12))
    for i in range(3):
        ax[i][0].set_ylabel(str(i))
        for j in range(4):
            ax[0][j].set_title(str(j))
            ax[i][j].imshow(np.random.normal(0, 1, (50, 50)))
            ax[i][j].get_xaxis().set_ticks([])
            ax[i][j].get_yaxis().set_ticks([])
            for spine in ax[i, j].spines.values():
                spine.set_visible(False)
    plt.show()
    

    输出:

    【讨论】:

    • 嗯,什么也没做。它对你有用吗?
    • 这与情节 2 不完全相同。您刚刚删除了 x 轴。 y 轴上仍然有数字,并且每个图周围仍然有一个黑框
    • 你看到我的情节2了吗?
    • 不,我只想要情节 1 中的标签,我不想要情节 1 中的 TICKS
    • 我编辑了@user1740577 的答案以删除刺。如果有帮助,我认为您应该投票/接受。
    猜你喜欢
    • 2018-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-05
    • 2015-12-09
    • 2016-07-28
    • 2016-08-30
    • 1970-01-01
    相关资源
    最近更新 更多