在Matplotlib中,如果你想创建大小不相等的子图,可以使用subplots()
函数的sharex
和sharey
参数来控制子图之间的坐标轴共享
import matplotlib.pyplot as plt
import numpy as np
# 创建数据
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
# 创建一个2x2的子图布局
fig, axs = plt.subplots(2, 2, figsize=(10, 8))
# 绘制子图1
axs[0, 0].plot(x, y1)
axs[0, 0].set_title('sin(x)')
# 绘制子图2,使其大小与其他子图不同
axs[0, 1].plot(x, y2)
axs[0, 1].set_title('cos(x)')
axs[0, 1].set_aspect('auto') # 设置纵横比自动调整
# 绘制子图3
axs[1, 0].plot(x, y1, 'r')
axs[1, 0].set_title('sin(x) in red')
# 绘制子图4
axs[1, 1].plot(x, y2, 'g')
axs[1, 1].set_title('cos(x) in green')
# 调整子图之间的间距
plt.subplots_adjust(hspace=0.5, wspace=0.5)
plt.show()
在这个例子中,我们创建了一个2x2的子图布局。通过调整axs[0, 1].set_aspect('auto')
,我们可以使第二个子图的大小与其他子图不同。plt.subplots_adjust()
函数用于调整子图之间的间距。
你可以根据需要调整子图的大小和位置,以满足你的需求。
领取专属 10元无门槛券
手把手带您无忧上云