Какова роль lim в функции plt.axis (lim)? - PullRequest
0 голосов
/ 10 января 2020

В моем учебнике у меня есть следующий код:

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 и затем снова используем lim в качестве параметра в plt.axis ()?

Я не понимаю этого.

1 Ответ

1 голос
/ 10 января 2020

Без параметров plt.axis() возвращает текущие пределы по оси x и в направлении y графика.

В этом коде эти пределы сохраняются в переменной. Итак, это пределы, в которых график рассеяния выглядит красиво.

Затем вызывается plt.plot, чтобы нарисовать конкретную кривую c поверх графика рассеяния. Поскольку эта кривая также dr aws вне области диаграммы рассеяния, matplotlib автоматически корректирует свои пределы, чтобы соответствовать полной кривой. Но при этой настройке график рассеяния будет уменьшен до некоторой небольшой области.

Чтобы исправить ситуацию, границы, в которых график рассеяния выглядит хорошо, снова навязывают на графике, используя plt.axis(lim).

Вот наглядная иллюстрация:

example plots

...