因此,创建了8个子图,我希望在子图2和子图3之间以及子图6和7之间有一个间距。大概是这样的:
的数据
这些都是我得到的情节,我正在想办法实现这一点。
的
下面是我的代码:
import matplotlib.pyplot as plt
import numpy as np
# Create the main subplot
fig, axs = plt.subplots(2, 4, figsize=(20, 18))
# Subplot 1
ax1 = axs[0, 0]
ax1.plot(np.random.rand(10))
ax1.set_title('Subplot 1')
ax1.set_position([0.0, 0.6, 0.125, 0.125])
# Subplot 2
ax2 = axs[0, 1]
ax2.plot(np.random.rand(10))
ax2.set_title('Subplot 2')
ax2.set_position([0.25, 0.6, 0.125, 0.125])
# Subplot 3
ax3 = axs[0, 2]
ax3.plot(np.random.rand(10))
ax3.set_title('Subplot 3')
ax3.set_position([0.75, 0.6, 0.125, 0.125])
# Subplot 4
ax4 = axs[0, 3]
ax4.plot(np.random.rand(10))
ax4.set_title('Subplot 4')
ax4.set_position([1, 0.6, 0.125, 0.125])
# Subplot 5
ax5 = axs[1, 0]
ax5.plot(np.random.rand(10))
ax5.set_title('Subplot 5')
ax5.set_position([0, 0.3, 0.125, 0.125])
# Subplot 6
ax6 = axs[1, 1]
ax6.plot(np.random.rand(10))
ax6.set_title('Subplot 6')
ax6.set_position([0.25, 0.3, 0.125, 0.125])
# Subplot 7
ax7 = axs[1, 2]
ax7.plot(np.random.rand(10))
ax7.set_title('Subplot 7')
ax7.set_position([0.75, 0.3, 0.125, 0.125])
# Subplot 8
ax8 = axs[1, 3]
ax8.plot(np.random.rand(10))
ax8.set_title('Subplot 8')
ax8.set_position([1, 0.3, 0.125, 0.125])
# Adjust the spacing between subplots
fig.tight_layout()
fig.subplots_adjust(wspace=0, hspace=0.4)
# Display the plot
plt.show()
字符串
2条答案
按热度按时间vdgimpew1#
的数据
您可以使用Matplotlib的新特性
subfigures
。字符串
w8biq8rn2#
使用
subplot2grid
是另一种方法:字符串
的数据
例如,对于
ax1
和(11, 9)
,主绘图窗口分为11行和9列。第二元组(0, 0)
指定每个框的左上角的位置,例如,行0 &列0。rowspan
和colspan
是创建每个框的行数和列数。