0

我通过在 Python 3 中使用 matplotlib 绘制了一个包含许多子图的图形。我通过使用fig.text()而不是插入图形标题,fig.suptitle()因为我需要将标题放在中间、右侧和左侧。您可以在下一个 url 中看到这个结果(行数 = 6):

绘图结果:N 行 = 6

现在,当子图的数量增加或减少时,我遇到了一些问题。标题和上部子图顶部之间的空间减少或增加。x 标签也具有相同的行为。
例如,当行数 = 2时,空间减少,如下图所示:

绘图结果:N 行 = 2

另一方面,当行数 = 15时,空间会增加,如下图所示:

绘图结果:N 行 = 15

我希望标题的空间和 x 轴标签在我增加或减少行数时不会改变。有什么建议吗?谢谢你。

这是我的 MWE:

import matplotlib.pyplot as plt
 
n_rows = 15
n_cols = 2
fig, axs = plt.subplots(n_rows, n_cols, figsize=(7*n_cols,1*n_rows), sharex="col", sharey="row",
                        gridspec_kw={'hspace': 0, 'wspace': 0})  
# labels
fig.text(0.513, 0.06, 'Time UTC', ha='center', va='center', fontsize=14)
fig.text(0.09, 0.5, 'S4', ha='center', va='center', rotation='vertical', fontsize=14, color='b')
fig.text(0.94, 0.5, 'Elevation Angle', ha='center', va='center', rotation=-90, fontsize=14, color='g')
# title
fig.text(0.513, 0.91, 'S4', ha='center', va='center', fontsize=17)
fig.text(0.32, 0.91, 'Jicamarca', ha='center', va='center', fontsize=17, color='r')
fig.text(0.12, 0.91, '2020/07/16', ha='left', va='center', fontsize=17)
fig.text(0.9, 0.91, 'Scintillation index', ha='right', va='center', fontsize=17)
4

0 回答 0