使用Yellowbrick的子图时丢失图例和标题的问题

9

我在将多个 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()

绘图图片

1个回答

9

@chris-mangum 很抱歉你遇到了麻烦。除了 show 之外,我们还有另一种方法叫做 finalize。在这种情况下,finalizeshow 更好。-- 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()

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接