При построении линейного графика библиотека графиков не знает автоматически, между какими точками данных должна быть проведена линия, и между какими точками должен быть зазор.
Самый простой способ определить библиотека, я думаю, предназначена для создания NaN-строк, чтобы индекс отражал то, что, как вы думаете, он должен отражать. Т.е. если вы думаете, что данные должны быть поминутными, убедитесь, что индекс фрейма данных поминутный.
Затем библиотека черчения понимает, что там, где есть данные NaN, линия не должна рисоваться.
Пример кода:
# generate a dataframe with one column of
df = pd.DataFrame(
[
['2020-04-03 12:10:00',23.2],
['2020-04-03 12:12:00',23.1],
['2020-04-03 12:13:00',14.1], #notice the gap here!
['2020-04-03 12:24:00',23.1],
['2020-04-03 12:25:00',23.3],
],
columns=['timestamp','value']
)
df['timestamp'] = pd.to_datetime(df.timestamp) # make sure that the timestamp data is stored as timestamps
Затем мы создаем переиндексацию данных, которые создают новые наноряды, где это необходимо.
df = df.set_index('timestamp')
df = df.reindex(pd.date_range(start=df.index.min(),end=df.index.max(),freq='1min'))
Наконец, строим его!
df['value'].plot(figsize=(10,6))
Результат выглядит как