Я хочу построить график, используя matplotlib
в Google Colab. В целом график выглядит нормально, за исключением того, что я не смог добавить метку к x-
или y-axis
. Я добавил несколько дополнительных шагов в график, так что я не уверен, что именно поэтому график не работает должным образом.
Вот код:
df = pd.read_csv('/content/drive/My Drive/data.csv', sep=',')
df['timestamp'] = pd.to_datetime(df['timestamp'])
start_date = pd.to_datetime('2020-02-01')
end_date = pd.to_datetime('2020-03-01')
df = df.loc[(df['timestamp'] > start_date) &
(df['timestamp'] < end_date)]
ID = 3
df = df[df['id'] == ID]
df['Date'] = [datetime.datetime.date(d) for d in df['timestamp']]
df.plot(x='timestamp', y='data', figsize=(10, 6),)
plt.axhline(y=40, color='r', linestyle='-')
plt.axhline(y=25, color='b', linestyle='-')
df['top_lim'] = 40
df['bottom_lim'] = 25
plt.fill_between(df.index, df['bottom_lim'], df['data'],
where=(df['data'] >= df['bottom_lim'])&(df['data'] <= df['top_lim']),
facecolor='orange', alpha=0.3)
mask = (df['data'] <= df['top_lim'])&(df['data'] >= df['bottom_lim'])
plt.scatter(df.index[mask], df['data'][mask], marker='.', color='black')
cumulated_time = df.index[mask].diff().sum()
plt.title(f'Cumulative time in range = {cumulated_time}')
plt.ylabel('data', fontsize=18)
plt.legend(loc='best')
plt.show()
Вот как выглядит график:
Кажется, X-метка timestamp
уже был там изначально, но не y-label
, и я не мог изменить x-label
, вставив также plt.xlabel('data', fontsize=18)
.
Я опробовал несколько способов в других сообщений но ничего не изменилось.