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()
运行效果:

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()
运行效果:

PS:
constrained_layout布局基本没有任何空白,图形可以直接和论文中的文字接触,tight_layout布局会留出适当的空白布局。
个人认为还是tight_layout布局会更好些,这样的图片会更适合在下面写图的说明文字,而contrained_layout留白更少,会要文字和图片接触的间隙过小。不过从我的经验来看二者的差距不大,而且这种留白的空间的大小都是可以被接受的,因此二者可以不做区分,不过个人更偏向于使用tight_layout布局。
本博客是博主个人学习时的一些记录,不保证是为原创,个别文章加入了转载的源地址,还有个别文章是汇总网上多份资料所成,在这之中也必有疏漏未加标注处,如有侵权请与博主联系。
如果未特殊标注则为原创,遵循 CC 4.0 BY-SA 版权协议。
posted on 2025-02-03 16:37 Angry_Panda 阅读(128) 评论(0) 收藏 举报
浙公网安备 33010602011771号