matplotlib中多子图布局里面constrained_layout和tight_layout哪个效果好?



constrained_layout布局:

代码:

import matplotlib.pyplot as plt

fig, axs = plt.subplots(2, 2, figsize=(10, 8), constrained_layout=True)

for ax in axs.flat:
    ax.plot([1, 2, 3, 4], [1, 4, 2, 3])
    ax.set_title("How2matplotlib.com - Subplot")

plt.show()

运行效果:

image





tight_layout布局:

代码:

import matplotlib.pyplot as plt

# fig, axs = plt.subplots(2, 2, figsize=(10, 8), constrained_layout=True)
fig, axs = plt.subplots(2, 2, figsize=(10, 8))

for ax in axs.flat:
    ax.plot([1, 2, 3, 4], [1, 4, 2, 3])
    ax.set_title("How2matplotlib.com - Subplot")

plt.tight_layout()
plt.show()

运行效果:

image



PS:

constrained_layout布局基本没有任何空白,图形可以直接和论文中的文字接触,tight_layout布局会留出适当的空白布局。

个人认为还是tight_layout布局会更好些,这样的图片会更适合在下面写图的说明文字,而contrained_layout留白更少,会要文字和图片接触的间隙过小。不过从我的经验来看二者的差距不大,而且这种留白的空间的大小都是可以被接受的,因此二者可以不做区分,不过个人更偏向于使用tight_layout布局。



posted on 2025-02-03 16:37  Angry_Panda  阅读(128)  评论(0)    收藏  举报

导航