首页 > 解决方案 > lim 在函数 plt.axis(lim) 中的作用是什么?

问题描述

在我的教科书中,我有以下代码:

model = grid.best_estimator_

plt.scatter(X.ravel(), y)
lim = plt.axis()
y_test = model.fit(X, y).predict(X_test)
plt.plot(X_test.ravel(), y_test, hold=True);
plt.axis(lim);

我了解到 plt.axis() 用于设置轴限制。但是这是什么意思,当我们使用这个没有参数的方法时,将值赋给lim,然后在plt.axis()中再次使用lim作为参数?

我不明白。

标签: matplotlibaxis

解决方案


没有参数,plt.axis()返回绘图的 x 和 y 方向的当前限制。

在这段代码中,这些限制被保存到一个变量中。因此,这些是散点图看起来不错的限制。

然后,plt.plot调用在散点图顶部绘制特定曲线。由于这条曲线也在散点图区域之外绘制,matplotlib 会自动调整其限制以适应完整的曲线。但是这种调整会使散点图缩小到一些小区域。

为了纠正这种情况,散点图看起来很好的限制再次强制在图上,使用plt.axis(lim).

这是一个视觉插图:

示例图


推荐阅读