zyping1989 2023-07-01 10:57 采纳率: 0%
浏览 13

共享一个colorbar?(语言-python)

我在用plt.imshow()函数画云图的时候出现这样一个问题:我将8个云图放在一起,想共享一个colorbar,并且想让colorbar在整个图的又方,但是我现在的代码可以显示一个colorbar,但是呢这个colorbar只显示在最后一个imshow图的右方。
代码如下:

matrices = np.random.random((2, 4, 10, 10))
for k in range(1, matrices.shape[0] * matrices.shape[1] + 1):
    plt.subplot(matrices.shape[0], matrices.shape[1], k)
    for i in range(matrices.shape[0]):
        for j in range(matrices.shape[1]):
            matrix = matrices[i, j, :, :]
            plt.imshow(matrix, cmap="Reds")
plt.colorbar()
plt.show()

运行结果为:

img


在不使用plt.subplots函数的前提下,该如何设置colorbar?谢谢!

  • 写回答

2条回答 默认 最新

  • 梦幻精灵_cq 2023-07-01 11:15
    关注

      您把plt.colorbar()语句,后退一个缩进单位试试,我想ply.cilorbar()应该在第一层for之内的吧。

      您的plt.colorbar()在循环之外,仅执行了一次,当然就只有一个colorbar啰。😋


    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 7月1日