为两个子图生成colorbar【colorbar位置参数详解】

import numpy as np
import matplotlib.pyplot as plt

# 生成数据
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)

# 创建子图
fig, axes = plt.subplots(nrows=2, ncols=1)

# 在第一个子图中绘制曲线
axes[0].plot(x, y1)
axes[0].set_title('Sin(x)')

# 在第二个子图中绘制曲线
axes[1].plot(x, y2)
axes[1].set_title('Cos(x)')

# 给第一个子图添加colorbar
cax1 = fig.add_axes([0.95, 0.55, 0.02, 0.35]) 
# 在右边添加一个新的坐标轴来放置colorbar
#0.9表示距离最左边的距离,从左往右0--1
#0.55表示距离最下边的距离,从下往上0--1
#0.02和0.35分别指你这个colorbar的宽度和长度,先确定第一二参数再来确定三四参数
cbar1 = fig.colorbar(axes[0].lines[0], cax=cax1) # 将colorbar添加到新的坐标轴中
cbar1.set_label('Value')

# 给第二个子图添加colorbar
cax2 = fig.add_axes([0.95, 0.1, 0.02, 0.35]) # 在右边添加一个新的坐标轴来放置colorbar
cbar2 = fig.colorbar(axes[1].lines[0], cax=cax2) # 将colorbar添加到新的坐标轴中
cbar2.set_label('Value')

plt.show()

你可能感兴趣的:(python)