Есть ли простой способ, чтобы pd.plot или plt.plot () использовали время суток для оси y? - PullRequest
0 голосов
/ 03 ноября 2019

У меня есть таблица времени восхода и захода солнца. Я хотел бы нарисовать годы на оси X и время суток на оси Y. Однако, просто подключая фрейм данных, я получаю плавающие, не связанные с временем суток, по оси Y.

Я пробовал различные решения, которые я не могу заставить работать. Включая использование подзаговоров со следующими данными:

ax.yaxis.set_major_locator(HourLocator())
ax.yaxis.set_major_formatter(DateFormatter('%H:%M'))

Вот код:

import sunriset

lat = 34.0522
long = -118.2437
local_tz = -8

number_of_years = 10
start_date = datetime.date(2010,1,1)

df = sunriset.to_pandas(start_date, lat, long, local_tz, number_of_years)

sunrise_set = df[['Sunrise', 'Sunset', 'Sunlight Durration (minutes)']]
sunrise_set.index = pd.to_datetime(sunrise_set.index)

plt.plot(sunrise_set['Sunrise'])
plt.show()

Я бы хотел, чтобы время по оси y не было с плавающей точкой.

1 Ответ

0 голосов
/ 03 ноября 2019

Ну, я понял это. Формат столбцов панд необходимо преобразовать в datetime, даже если они отображаются как datetime при выполнении df.describe ()

sunrise_set['Sunrise'] = pd.to_datetime(sunrise_set['Sunrise'])
sunrise_set['Sunrise'] = [time.time() for time in sunrise_set['Sunrise']]
sunrise_set['Sunset'] = pd.to_datetime(sunrise_set['Sunset'])
sunrise_set['Sunset'] = [time.time() for time in sunrise_set['Sunset']]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...