解决TypeError: FigureBase.subplot_mosaic() got an unexpected keyword argument ‘dpi‘

我的解决办法是将dpi参数移动到figure里

报错代码:

fig = plt.figure()
sfigs = fig.subfigures(2, 1)

axs1 = sfigs[1].subplot_mosaic([['wna-ori', 'wna-occ', 'eu-ori', 'eu-occ', 'ea-ori']],
                               gridspec_kw={'width_ratios': [len(i) for i in group_set], 'wspace': 0, 'hspace': 0},
                               dpi=300,
                               sharey=True)

plt.savefig('test.png')

移动后的代码:

fig = plt.figure(dpi=300)
sfigs = fig.subfigures(2, 1)

axs0 = sfigs[0].subplot_mosaic([['world']])
axs1 = sfigs[1].subplot_mosaic([['wna-ori', 'wna-occ', 'eu-ori', 'eu-occ', 'ea-ori']],
                               gridspec_kw={'width_ratios': [len(i) for i in group_set], 'wspace': 0, 'hspace': 0},
                               sharey=True)

plt.savefig('test.png')

如果只有一层figure,直接用subplot_mosaic(dpi=300)也是没问题的。像我这样套了两层figure,实践来看需要在最外层figure配置dpi。

你可能感兴趣的:(matplotlib,python,matplotlib)