子图丢失缺少库图

时间:2019-02-19 16:30:24

标签: python matplotlib subplot

通过df1,df2,df3的msno.matrix()获得missingno子图的最简单方法是什么。我已经检查了this issue,并且由于TypeError 'AxesSubplot' object does not support indexing而导致以下解决方案无法正常工作,并且根据that issue更新了pandas和missingno。

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就可以使用它。 祝你晚上愉快

2 个答案:

答案 0 :(得分:0)

您的错误:

'AxesSubplot' object does not support indexing

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

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

希望有帮助

答案 1 :(得分:0)

要给Iannes的答案增加一点:missingno文档规定要指定inline=False,这将导致missingno返回基础matplotlib.figure.Figure对象。

因此提供的代码应为:

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