Как построить график временных рядов в Jupyter? - PullRequest
1 голос
/ 26 октября 2019

Я пытался построить данные для достижения что-то вроде этого :

enter image description here

Но я не мог иЯ только что достиг этого графика с заговором:

enter image description here

Вот небольшая выборка моих данных

Кто-нибудь знает, как добиться этого графика?

Заранее спасибо

1 Ответ

0 голосов
/ 28 октября 2019

Добро пожаловать на форум.

Вы найдете много хороших вещей о временных сериях на plotly.ly / python . Тем не менее, я хотел бы поделиться некоторыми практическими деталями, которые я нахожу очень полезными:

  1. организовать ваши данные в pandas dataframe
  2. настроить базовую структуру графика, используя fig=go.Figure([go.Scatter()])
  3. Сделайте необходимые дополнения к этой структуре, используя fig.add_traces([go.Scatter()])

Сюжет:

enter image description here

Код:

import plotly.graph_objects as go
import pandas as pd
import numpy as np

# random data or other data sources
np.random.seed(123)
observations = 200
timestep = np.arange(0, observations/10, 0.1)
dates = pd.date_range('1/1/2020', periods=observations)
val1 = np.sin(timestep)
val2=val1+np.random.uniform(low=-1, high=1, size=rows*10)#.tolist()

# organize data in a pandas dataframe
df= pd.DataFrame({'Timestep':timestep, 'Date':dates,
                               'Value_1':val1,
                               'Value_2':val2})

# Main plotly figure structure
fig = go.Figure([go.Scatter(x=df['Date'], y=df['Value_2'],
                            marker_color='black',
                            opacity=0.6,
                            name='Value 1')])

# One of many possible additions
fig.add_traces([go.Scatter(x=df['Date'], y=df['Value_1'],
                           marker_color='blue',
                           name='Value 2')])

# plot figure
fig.show()
...