如何消除马赛克上子图之间的间隙?传统方式不适用于马赛克:
plt.subplots_adjust(wspace=0, hspace=0)
我也尝试过使用
gridspec_kw
,但没有运气。
import matplotlib.pyplot as plt
import numpy as np
ax = plt.figure(layout="constrained").subplot_mosaic(
"""
abcde
fghiX
jklXX
mnXXX
oXXXX
""",
empty_sentinel="X",
gridspec_kw={
"wspace": 0,
"hspace": 0,
},
)
for k,ax in ax.items():
print(ax)
#ax.text(0.5, 0.5, k, transform=ax.transAxes, ha="center", va="center", fontsize=8, color="darkgrey")
ax.set_xticklabels([])
ax.set_yticklabels([])
ax.tick_params(length = 0)
这不是由
subplot_mosaic
引起的,而是因为指定了 layout
。如果您使用受限或紧凑的布局,布局管理器将取代自定义调整。
删除布局管理器,任一方法都可以:
gridspec_kw
fig = plt.figure() # without layout param
ax = fig.subplot_mosaic(
"""
abcde
fghiX
jklXX
mnXXX
oXXXX
""",
empty_sentinel="X",
gridspec_kw={
"wspace": 0,
"hspace": 0,
},
)
subplots_adjust
fig = plt.figure() # without layout param
ax = fig.subplot_mosaic(
"""
abcde
fghiX
jklXX
mnXXX
oXXXX
""",
empty_sentinel="X",
)
fig.subplots_adjust(wspace=0, hspace=0)