在matplotlib图中添加海轴和子图可以通过以下步骤实现:
import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec
fig = plt.figure(figsize=(8, 6))
gs = gridspec.GridSpec(2, 2, width_ratios=[1, 2], height_ratios=[2, 1])
这里创建了一个2x2的网格布局,其中第一行的高度是第二行的两倍,第一列的宽度是第二列的两倍。
ax1 = plt.subplot(gs[0, 0])
ax2 = plt.subplot(gs[0, 1])
ax3 = plt.subplot(gs[1, :])
这里创建了三个子图,分别位于第一行的第一列、第一行的第二列和第二行的整行。
ax1.plot(x1, y1)
ax2.plot(x2, y2)
ax3.plot(x3, y3)
这里的x1、y1、x2、y2、x3、y3是要绘制的数据。
ax4 = ax3.twinx()
ax4.plot(x4, y4, 'r')
这里创建了一个与ax3共享x轴的新的海轴ax4,并在其上绘制了红色的线条。
ax1.set_title('Subplot 1')
ax2.set_title('Subplot 2')
ax3.set_title('Subplot 3')
ax4.set_ylabel('Secondary Y-axis')
plt.tight_layout()
这里使用tight_layout()函数可以自动调整子图和海轴的布局,使它们适应图形的大小。
plt.show()
这样就完成了在matplotlib图中添加海轴和子图的操作。根据具体的需求,可以根据这个基本的步骤进行进一步的定制和调整。
领取专属 10元无门槛券
手把手带您无忧上云