2017-08-08 67 views
0

我有以下代碼如何繪製由statsmodels在同一個pyplot中繪製函數創建的2個圖?

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

雖然你會發現很多有關在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() 
相關問題