в чем разница между plt.plot (), object.plot () - PullRequest
1 голос
/ 14 февраля 2020

Я сделал список

> Book_of_Death_Count

1.0    49
2.0    73
3.0    97
4.0    27
5.0    61
Name: Book of Death, dtype: int64*

Когда я наберу

a = Book_of_Death_Count.plot(),
b = plt.plot(Book_of_Death_Count)

Результат двух одинаков, но:

  • a.set_xticks(np.arange(1,6)) работает;

  • b.set_xticks(np.arange(1,6)) не работает.

В чем разница между этими двумя кодами?

Ответы [ 2 ]

0 голосов
/ 14 февраля 2020

Предполагая, что a представляет собой серию pandas: всякий раз, когда вы вызываете my_pandas_series.plot(), возвращаемое значение представляет собой Axes экземпляр , объект, который представляет область вашего графика в целом. Этот объект имеет метод set_xticks для ... ну, устанавливая положение тиков x на графике.

С другой стороны, вызов plt.plot() возвращает список Line2D объекты . Ни список, ни объекты Line2D внутри него не содержат метод set_xticks.

0 голосов
/ 14 февраля 2020

Ваш "список" является pandas DataFrame объектом. Когда вы вызываете Book_of_Death_Count.plot(), вы используете функцию DataFrame.plot () , которая возвращает (в большинстве случаев) объект Axes. Поэтому a имеет тип Axes, и вы можете использовать его для доступа к всем методам этого класса.

Когда вы используете plt.plot(), Возвращаемые значения - это список Line2D объектов . Если вам нужен доступ к объекту Axes (например, для изменения тиков), используйте a = plt.gca().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...