要使热图拥有相同的坐标轴尺寸,可以使用Matplotlib库中的imshow
函数,并设置extent
参数来指定坐标轴的范围。
以下是一个示例代码,展示如何使用imshow
函数绘制两个热图,并使它们具有相同的坐标轴尺寸:
import numpy as np
import matplotlib.pyplot as plt
# 生成示例数据
data1 = np.random.rand(10, 10)
data2 = np.random.rand(8, 8)
# 创建子图
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(10, 5))
# 绘制第一个热图
im1 = ax1.imshow(data1, cmap='hot', origin='lower', extent=[0, 10, 0, 10])
ax1.set_title('Heatmap 1')
# 绘制第二个热图
im2 = ax2.imshow(data2, cmap='hot', origin='lower', extent=[0, 10, 0, 10])
ax2.set_title('Heatmap 2')
# 设置两个热图具有相同的坐标轴尺寸
ax2.set_xlim(ax1.get_xlim())
ax2.set_ylim(ax1.get_ylim())
# 添加颜色标尺
cbar1 = fig.colorbar(im1, ax=ax1)
cbar1.set_label('Colorbar 1')
cbar2 = fig.colorbar(im2, ax=ax2)
cbar2.set_label('Colorbar 2')
# 显示图形
plt.tight_layout()
plt.show()
在这个示例中,我们使用imshow
函数分别在两个子图中绘制了两个热图,并通过设置extent
参数来指定坐标轴的范围。然后,我们使用ax2.set_xlim(ax1.get_xlim())
和ax2.set_ylim(ax1.get_ylim())
来使两个热图具有相同的坐标轴尺寸。
最后,我们使用fig.colorbar
函数为每个热图添加颜色标尺,并使用cbar.set_label
函数为标尺添加标签。
运行这段代码,将会显示两个热图,它们具有相同的坐标轴尺寸。