python - 颜色条和多个子图的问题

标签 python matplotlib colorbar

我尝试将两张图像并排绘制,并为它们绘制一个对应的颜色条。 我的代码是

plt.figure(1)
plt.subplot (121)
plt.title('1')
plt.imshow(matrix_lg, interpolation='bilinear', cmap=plt.cm.jet, vmin=np.log10(minVal), vmax = np.log10(maxVal))
plt.subplot(122)
plt.title('2')
plt.imshow(matrix_lg, interpolation='bilinear', cmap=plt.cm.jet, vmin=np.log10(minVal), vmax = np.log10(maxVal))
plt.colorbar()

Python 现在将颜色条附加到第二个子图并因此缩小它。但我希望两个地 block 的大小相同。 如何分 ionic 图的颜色条?

enter image description here

最佳答案

您可以为颜色条创建一个单独的 Axes 实例

import matplotlib.pyplot as plt
import numpy as np

plt.figure(1)
# Create room on the right
plt.gcf().subplots_adjust(right=0.8)

plt.subplot (121)
plt.title('1')
plt.imshow(np.random.rand(10,10), interpolation='bilinear', cmap=plt.cm.jet)
plt.subplot(122)
plt.title('2')
plt.imshow(np.random.rand(10,10), interpolation='bilinear', cmap=plt.cm.jet)

# Make a new Axes instance
cbar_ax = plt.gcf().add_axes([0.85, 0.15, 0.05, 0.7])
plt.colorbar(cax=cbar_ax)

plt.show()

enter image description here

编辑:

您可以通过更改 add_axes 命令将颜色条的高度更改为更接近绘图的高度。这需要一个矩形作为参数 [left, bottom, width, height],所以只需更改 bottomheight 以满足您的需要

关于python - 颜色条和多个子图的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31944912/

相关文章:

python - Keras 中的图像序列处理 ConvLSTM 与 LSTM 架构

Python 零除错误

python - 检查seaborn散点图函数是否正在采样数据

python - 如何删除颜色条

python - 在单独的线程中启动 flask 应用程序

python - 使用 xlsxwriter 左对齐行

python - 如何像在 R 中的 ggplot2 中一样在 Python 中的 matplotlib 中创建构面?

python-3.x - python 3.6.1 中的运行时错误 : Failed to open TrueType font in matplotlib. backends_pdf

python - 散点图颜色条 - Matplotlib