使用带有 yellowbrick 的子图并丢失图例和标题时的问题
Issues when using subplots with yellowbrick and losing legend and titles
我在将多个 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()
image of plots
@chris-mangum 很抱歉,您遇到了这个问题。除了 show
我们还有另一个方法叫做 finalize
在这种情况下,finalize 比 show
更好——show
调用 finalize
然后 show 或 savefig 结束这个数字,所以在像你这样的多轴图中,你不想叫 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()
我在将多个 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()
image of plots
@chris-mangum 很抱歉,您遇到了这个问题。除了 show
我们还有另一个方法叫做 finalize
在这种情况下,finalize 比 show
更好——show
调用 finalize
然后 show 或 savefig 结束这个数字,所以在像你这样的多轴图中,你不想叫 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()