使用带有黄砖的子图并丢失图例和标题时的问题

Chr*_*gum 5 legend subplot yellowbrick

将多个黄砖图表放入子图排列时遇到问题。标题和图例仅显示最后一个图表。我尝试了多种编写代码的方法,但无法让所有方法都显示图例和标题。我相信上班很简单。

这是一段代码:

f, ((ax1, ax2), (ax3, ax4)) = plt.subplots(2, 2,figsize=(14, 10))

viz = FeatureImportances(LinearRegression(), ax=ax1)
viz.fit(X_train, y_train)

viz = LearningCurve(LinearRegression(), scoring='r2',cv=10, ax=ax2)
viz.fit(X_train, y_train)

viz = ResidualsPlot(clf, ax=ax3)
viz.fit(X_train, y_train) 

viz = PredictionError(LinearRegression(), ax=ax4)
viz.fit(X_train, y_train) 
viz.score(X_test, y_test) 

viz.poof()
Run Code Online (Sandbox Code Playgroud)

地块图像

lar*_*ray 6

@chris-mangum 很抱歉您为此苦苦挣扎。此外,show我们还有另一种方法,finalize在这种情况下,finalize 比show--show调用finalize然后显示或保存图形更好,从而结束图形,因此在像您这样的多轴图中,您不想调用 poof。

f, ((ax1, ax2), (ax3, ax4)) = plt.subplots(2, 2,figsize=(14, 10))

viz = FeatureImportances(LinearRegression(), ax=ax1)
viz.fit(X_train, y_train)
viz.finalize()

viz = LearningCurve(LinearRegression(), scoring='r2',cv=10, ax=ax2)
viz.fit(X_train, y_train)
viz.finalize()

viz = ResidualsPlot(clf, ax=ax3)
viz.fit(X_train, y_train) 
viz.finalize()

viz = PredictionError(LinearRegression(), ax=ax4)
viz.fit(X_train, y_train) 
viz.score(X_test, y_test) 

viz.finalize()
Run Code Online (Sandbox Code Playgroud)