我有以下代码
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。
如何在同一窗口中绘制这两个数字?
答案 0 :(得分:2)
虽然您在matplotlib中找到了很多关于创建两个或更多子图的资源,但这里的问题更具体地是要求将statsmodels.graphics.factorplots.interaction_plot
和statsmodels.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()