matplotlib 子打印缺失无库打印

bwntbbo3  于 2023-06-30  发布在  其他
关注(0)|答案(2)|浏览(148)

通过msno.matrix()得到df1,df2,df3的missingno子图的最简单方法是什么?我已经检查了this issue和下面的解决方案没有工作,由于TypeError 'AxesSubplot' object does not support indexing和更新的Pandas和missingno基于that issue

fig = msno.matrix(df)
grid_ax = fig.axes[0]
my_subplots = plt.subplots(2, 2)
my_subplots[0][0] = grid_ax

我使用了下面的片段,但没有成功。我不知道我该怎么回复ax

#Set up the figure
fig, ax = plt.subplots(nrows=1, ncols=2 , figsize=(8,8) , squeeze=False)

plt.subplot(131) 
msno.matrix(df1)

plt.subplot(132) 
msno.matrix(df2)

plt.subplot(133) 
msno.matrix(df3)

plt.savefig('comparison.png') 
#plt.tight_layout()
plt.show()

请留下一个一般的解决方案,我们可以通过更换不同的df,我们可以使用它。祝你有个愉快的夜晚

i5desfxk

i5desfxk1#

您的错误:

'AxesSubplot' object does not support indexing

我会尝试取出.axes后面的索引,像这样:

fig = msno.matrix(df)
grid_ax = fig.axes

希望有帮助

bqujaahr

bqujaahr2#

给Iannes的回答补充一点:missingno文档规定指定inline=False,这将导致missingno返回底层的matplotlib.figure.Figure对象。
所以提供的代码应该是:

fig = msno.matrix(df, inline=False)
grid_ax = fig.axes

相关问题