Saltar al contenido

¿Cómo trazar un gráfico de serie temporal usando seaborn o plotly?

Después de consultar especialistas en este tema, programadores de varias ramas y profesores hemos dado con la solución al problema y la plasmamos en este post.

Solución:

Considerando un marco de datos de juguete:

  • solución marina
import pandas as pd
import matplotlib.pyplot as plt

import seaborn as sns

df = pd.DataFrame("Datum": ['1/1/2018 0:00',
                             '1/1/2018 0:15',
                             '1/1/2018 0:30',
                             '1/1/2018 0:45',
                             '1/1/2018 1:00',
                             '1/1/2018 1:15',
                             '1/1/2018 1:30',
                             '1/1/2018 1:45 '],
                   "Menge": [19.5, 19.,19.5,19.5,21,19.5,20,23])
sns.lineplot(x="Datum", y="Menge", data=df)
plt.xticks(rotation=15)
plt.title('seaborn-matplotlib example')
plt.show()

ingrese la descripción de la imagen aquí

  • solución gráfica
import pandas as pd
import numpy as np

import plotly.graph_objs as go
from plotly.offline import download_plotlyjs, init_notebook_mode, plot, iplot
init_notebook_mode(connected=True)

trace1 = go.Scatter(x=df.Datum,
                    y=df.Menge,
                    name = "plotly example",
                    line = dict(color = 'blue'),
                    opacity = 0.4)

layout = dict(title='plotly example',)

fig = dict(data=[trace1], layout=layout)
iplot(fig)

ingrese la descripción de la imagen aquí

Las configuraciones más limpias para datos de formato amplio, incluso para varias series temporales, son:

  • tramamente: go.Figure()

  • nacido en el mar: lineplot()


tramamente:

fig = go.Figure([
    'x': df.index,
    'y': df[col],
    'name': col
  for col in df.columns])

ingrese la descripción de la imagen aquí


nacido en el mar:

sns.lineplot(data = df)

ingrese la descripción de la imagen aquí


Código completo para seaborn y plotly:

El siguiente ejemplo de código le permitirá producir ambos gráficos en un Jupyter Notebook fuera de línea.

importar plotly.graph_objs a partir de fecha y hora importar fecha y hora importar plotly.express como px importar matplotlib como mpl importar seaborn como sns importar pandas como pd importar numpy como np

datos de muestra en un marco de datos de pandas

np.random.seed(23)
observations = 75
df=pd.DataFrame(dict(A=np.random.uniform(low=-1, high=1.1, size=observations).tolist(),
                    B=np.random.uniform(low=-1, high=1.1, size=observations).tolist(),
                    C=np.random.uniform(low=-1, high=1.1, size=observations).tolist(),
                    ))
df.iloc[0,] = 0
df = df.cumsum()

firstdate = datetime(2020,1,1)
df['date'] = pd.date_range(firstdate, periods=df.shape[0]).tolist()
df.set_index('date', inplace=True)

tramamente

fig = go.Figure([
    'x': df.index,
    'y': df[col],
    'name': col
  for col in df.columns])
fig.show()

nacido en el mar

sns.set_style("darkgrid")
sns.lineplot(data = df)

Puntuaciones y comentarios

Tienes la posibilidad comunicar este enunciado si te fue útil.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *