如何在同一个pyplot中绘制由statsmodels绘制函数创建的2个图?

时间:2017-08-08 16:54:10

标签: python matplotlib statsmodels

我有以下代码

from statsmodels.graphics.factorplots import interaction_plot
import statsmodels.api as sm
import matplotlib.pyplot as plt

# ...

fig1 = interaction_plot(a, b, c, colors=['red', 'blue'], markers=['D', '^'], ms=10)
fig2 = sm.qqplot(model.resid, line='s')
plt.show()

在单独的窗口中生成图1和图2。

如何在同一窗口中绘制这两个数字?

1 个答案:

答案 0 :(得分:2)

虽然您在matplotlib中找到了很多关于创建两个或更多子图的资源,但这里的问题更具体地是要求将statsmodels.graphics.factorplots.interaction_plotstatsmodels.api.qqplot生成的两个图创建到同一个图中。

这两个函数都使用参数ax来提供matplotlib轴,以便在此轴内生成绘图。

from statsmodels.graphics.factorplots import interaction_plot
import statsmodels.api as sm
import matplotlib.pyplot as plt

# ...

fig, (ax, ax2) = plt.subplots(nrows=2) # create two subplots, one in each row

interaction_plot(a, b, c, colors=['red', 'blue'], markers=['D', '^'], ms=10, ax=ax)
sm.qqplot(model.resid, line='s', ax=ax2)

plt.show()