.class { align:center; }
Matplotlib

Gráfico de serie temporal de Matplotlib

En este tutorial de Python Matplotlib, discutiremos el Gráfico de serie temporal de Matplotlib. Aquí cubriremos diferentes ejemplos relacionados con el gráfico de series de tiempo usando matplotlib. Y también cubriremos los siguientes temas:

Serie de tiempo de Matplotlib

Aquí primero, entenderemos qué es un gráfico de serie temporal y discutiremos por qué lo necesitamos en matplotlib.

¿Qué es la trama de serie temporal?

Los datos de series temporales son una colección de puntos de datos que se recopilaron durante un período de tiempo y están indexados en el tiempo. Estas observaciones se realizan a intervalos uniformemente espaciados a lo largo del tiempo. La visualización de datos juega un papel importante en el trazado de gráficos de series temporales.

Donde necesitamos Gráfico de serie temporal:

La señal de ECG, la señal de EEG, los datos del mercado de valores, los datos meteorológicos, etc., se indexan en el tiempo y se registran durante un período de tiempo. El campo de investigación para analizar estos datos y pronosticar observaciones futuras es mucho más amplio.

Pandas de trama de series temporales de Matplotlib

Aquí aprendemos a trazar un gráfico de serie temporal que se creará en pandas. Primero, tenemos que crear un conjunto de datos de muestra en pandas.

Lo siguiente es la sintaxis para crear DataFrame en Pandas:

pandas.DataFrame(data, index, columns, dtype, copy)

Veamos el código fuente para crear DataFrame:

# Import Library

import pandas as pd

# Defne Data

timeseries_data = { 
    'Date': ['2021-12-26', '2021-12-29',
             '2021-12-27', '2021-12-30',
             '2021-12-28', '2021-12-31' ], 
    
    'Washington': [42, 41, 41, 42, 42, 40],
    
    'Canada' : [30, 30, 31, 30, 30, 30],
    
    'California' : [51, 50, 50, 50, 50, 50]
}

# Create dataframe

dataframe = pd.DataFrame(timeseries_data,columns=['Date', 'Washington', 'Canada', 'California'])
 
# Changing the datatype

dataframe["Date"] = dataframe["Date"].astype("datetime64")
 
# Setting the Date as index

dataframe = dataframe.set_index("Date")
dataframe

Producción:

Conjunto de datos

Código fuente para trazar los datos:

# Import Library

import matplotlib.pyplot as plt

# Plot

plt.plot(dataframe["Canada"], marker="o")

# Labelling 

plt.xlabel("Date")
plt.ylabel("Temp in Faherenheit")
plt.title("Pandas Time Series Plot")

# Display

plt.show()
  • En primer lugar, importar matplotlib.pyplot biblioteca.
  • A continuación, trace la gráfica de la Canadá columna.
  • Para agregar etiquetas en los ejes, usamos xetiqueta() y yetiqueta() función.
  • Para agregar el título, usamos el título() función.

Producción:

pandas de la trama de la serie temporal de matplotlib

Trama de serie temporal de pandas

Además, lea: Matplotlib fill_ between – Guía completa

Diagrama de dispersión de series de tiempo de Matplotlib

Ahora, aquí aprendemos a trazar gráficos de series de tiempo usando gráficos de dispersión en Matplotlib.

Ejemplo:

En este ejemplo, tomamos la creación anterior de DataFrame como datos.

# Import Library

import matplotlib.pyplot as plt

# Plot scatter

plt.scatter(dataframe.index, dataframe["Washington"])

# Labelling 

plt.xlabel("Date")
plt.ylabel("Temp in Faherenheit")

# Auto space

plt.tight_layout()

# Display


plt.show()

Aquí dibujamos un diagrama de dispersión entre y Fecha y Temperatura de Washington.

diagrama de dispersión de series de tiempo de matplotlib

Gráfico de dispersión

Gráfico de serie de tiempo múltiple de Matplotlib

Aquí aprenderemos a trazar múltiples series de tiempo en un solo gráfico usando matplotlib.

Ejemplo:

# Import Libraries

import matplotlib.pyplot as plt
import datetime
import numpy as np
import pandas as pd

# Create figure

fig = plt.figure(figsize=(12, 8))

# Define Data

df1 = pd.DataFrame({'date': np.array([datetime.datetime(2021, 
                    12, i+1) for i in range(20)]),
                   'blogs_read': [4, 6, 5, 8, 15, 13, 18, 6, 5, 
                  3, 15, 14, 19, 21, 15, 19, 25, 24, 16, 26]})

df2 = pd.DataFrame({'date': np.array([datetime.datetime(2021, 
                     12, i+1)
 for i in range(20)]),
                   'blogs_unread': [1, 1, 2, 3, 3, 3, 4, 3, 2,     
                    3, 4, 7, 5, 3, 2, 4, 3, 6, 1, 2]})

# Plot time series

plt.plot(df1.date, df1.blogs_read, label="blogs_read", 
         linewidth=3)
plt.plot(df2.date, df2.blogs_unread, color="red", 
         label="blogs_unread", linewidth=3)

# Add title and labels

plt.title('Blogs by Date')
plt.xlabel('Date')
plt.ylabel('Blogs')

# Add legend

plt.legend()

# Auto space

plt.tight_layout()

# Display plot

plt.show() 
  • En primer lugar, importe las bibliotecas necesarias, como matplotlib.pyplot, fecha y hora, entumecido y pandas.
  • A continuación, para aumentar el tamaño de la figura, utilice tamaño de higo() función.
  • Para definir coordenadas de datos, creamos pandas Marco de datos.
  • Para graficar la serie de tiempo, usamos gráfico() función.
  • Para agregar el título a la trama, use título() función.
  • Para agregar etiquetas en los ejes, usamos xetiqueta() y yetiqueta() función.
  • Para agregar leyenda, use leyenda() función.
  • Para mostrar el gráfico, utilice mostrar() función.

Diagrama de barras de serie temporal de Matplotlib

Aquí aprenderemos a graficar series de tiempo usando un gráfico de barras en Matplotlib.

Haga clic aquí para descargar los datos:

Ventas.CSV

Ejemplo:

# Import Library

import pandas as pd 
import matplotlib.pyplot as plt 

# Read csv

data= pd.read_csv('Sales.csv')

# Convert data frame

df=pd.DataFrame(data)

# Initilaize list 

X = list(df.iloc[:,0])
Y = list(df.iloc[:,1])

# Set figure

plt.figure(figsize=(15, 12))

# Bar Plot

plt.bar(X, Y)

# Setting Ticks

plt.tick_params(axis="x",labelsize=15,rotation=90)
plt.tight_layout()

# Display

plt.show()
  • En primer lugar, importamos las bibliotecas necesarias, como matplotlib.pyploty pandas.
  • A continuación, lea el archivo CSV.
  • Después de esto, cree DataFrame a partir de un archivo CSV.
  • Inicialice la lista para X e Y.
  • Para trazar un gráfico de barras, usamos el bar() función.
  • Para cambiar la configuración de ticks, usamos tick_params() función.
  • Para establecer el espacio, usamos diseño_apretado() función.
gráfico de barras de serie temporal de matplotlib

plt.bar()

Matplotlib traza series de tiempo eje x

Aquí aprenderemos a configurar el eje x de la gráfica de datos de series de tiempo en Matplotlib.

Veamos un ejemplo:

# Import Library

import matplotlib.pyplot as plt
from datetime import datetime, timedelta

# Define data

dates = [
    datetime(2021, 9, 21),
    datetime(2021, 9, 22),
    datetime(2021, 9, 23),
    datetime(2021, 9, 24),
    datetime(2021, 9, 25),
    datetime(2021, 9, 26),
    datetime(2021, 9, 27),
]

y = [0, 1.8, 2, 3.5, 4, 5.6, 6]

# Plot 

plt.plot_date(dates, y)

# Setting axes

plt.tight_layout()
plt.tick_params(axis="x", rotation=90)

# Display

plt.show()
  • Importar bibliotecas matplotlib.pyplot y fecha y hora.
  • Defina los ejes de datos x e y.
  • Para graficar fechas, usamos plot_date() función.
  • Para establecer la configuración de las marcas, usamos el tick_params() función.
matplotlib trazar serie de tiempo eje x

plt.plot_date()

Trama de serie de tiempo de Python seaborn

Aquí aprenderemos cómo crear un gráfico de series de tiempo con seaborn.

nacido en el mar es una excelente herramienta de visualización de Python para trazar imágenes estadísticas. Incluye atractivos estilos predeterminados y paletas de colores que hacen que los gráficos estadísticos sean más atractivos. Se basa en la versión más reciente del paquete matplotlib y está estrechamente integrado con las estructuras de datos de pandas.

Para descargar el conjunto de datos, haga clic en sobre el Archivo de ventas.CSV:

Ventas.CSV

Veamos un ejemplo:

# Import Library

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt 

# Read csv

data= pd.read_csv('Sales.csv')

# Convert to dataframe

df=pd.DataFrame(data)

# Initilaize list 

X = list(df.iloc[:,0])
Y = list(df.iloc[:,1])

# Set figure

plt.figure(figsize=(12,10))

# Seaborn

sns.lineplot(x=X, y=Y)

# Setting Ticks

plt.tick_params(axis="x",labelsize=15,rotation=90)
plt.tight_layout()

# Display

plt.show()
  • en primer lugar importar matplotlib.pyplot, pandas y nacido en el mar bibliotecas
  • A continuación, lea el archivo CSV usando leer_csv() función.
  • Para convertir los datos en DataFrame, use Marco de datos() Función de los pandas.
  • Para inicializar la lista, usamos iloc() Función de los pandas.
  • Para establecer el tamaño de la figura, use tamaño de higo() método de figura.
  • Para crear un gráfico de serie temporal con la biblioteca seaborn, usamos diagrama de línea () método.
  • Para cambiar la configuración de las marcas, usamos tick_params() función.
  • Para establecer el ajuste de la trama, utilice diseño_ajustado() función.
  • Para mostrar el gráfico, utilice mostrar() función.
trama de serie temporal de python nacido en el mar

sns.lineplot()

Matplotlib boxplot serie de tiempo

Aquí aprenderemos a trazar un gráfico de series de tiempo usando el diagrama de caja marino usando Matplotlib.

Ejemplo:

# Import libraries

import numpy as np
import pandas as pd
import seaborn
import matplotlib.pyplot as plt

# Define Data


data = pd.DataFrame(np.random.randn(100), 
                    index=pd.date_range(start="2021-12-01", 
                    periods=100, freq="H"))
data.groupby(lambda x: x.strftime("%Y-%m-
            %d")).boxplot(subplots=False, figsize=(12,9))

# Display


plt.show()
  • Importar entumecido, pandas, nacido en el mar y matplotlib.pyplot bibliotecas
  • Crear marco de datos panda usando Marco de datos() función.
  • Para definir los datos para el trazado, utilice aleatorio.randn() función y establecer el índice como fecha.
  • Para graficar agrupar por fechas, use agrupar por() función.
  • Para crear un gráfico de diagrama de caja, use diagrama de caja() función.
matplotlib boxplot serie de tiempo

diagrama de caja()

Gráfico interactivo de series de tiempo de Python

Plotly es un módulo de visualización de datos de código abierto de Python que admite una variedad de gráficos, como gráficos de líneas, gráficos de dispersión, gráficos de barras, histogramas y gráficos de área. Plotly es una herramienta de trazado que utiliza javascript para crear gráficos interactivos.

Te puede interesar:  Matplotlib Parcela Matriz NumPy

Para instalar Plotly, use el siguiente comando de mención:

pip install plotly

Para descargar el conjunto de datos, haga clic en sobre el Archivo de ventas.CSV:

Ventas.CSV

Veamos un ejemplo:

# Import Library

import pandas as pd
import plotly.express as px 
import matplotlib.pyplot as plt 

# Read csv

data= pd.read_csv('Sales.csv')

# Convert data frame

df=pd.DataFrame(data)

# Initilaize list 

X = list(df.iloc[:,0])
Y = list(df.iloc[:,1])

# Set figure

plt.figure(figsize=(12,10))

# Plotly graph

plot = px.line(x=X, y=Y)

# Setting Ticks


plt.tick_params(axis="x",labelsize=15,rotation=90)
plt.tight_layout()

# Display


plot.show()
  • Importe las bibliotecas necesarias, como pandas, plotly.expressy matplotlib.pyplot.
  • Leer archivo CSV, usando leer_csv() función.
  • Convierta un archivo CSV en un marco de datos, usando Marco de datos() función.
  • Para inicializar la lista, usamos iloc() función.
  • Para trazar un gráfico de línea de serie de tiempo interactivo, utilice línea() funcion de plotly.express módulo.
trama interactiva de la serie temporal de python

Gráfica de serie temporal interactiva

Diagrama de barras múltiples de series temporales de Matplotlib

En esta sección, aprenderemos a trazar diagramas de series de tiempo utilizando gráficos de barras múltiples. Aquí trazamos el gráfico que muestra el número de nacimientos en un período específico.

Veamos un ejemplo:

# Import Libraries

import pandas as pd
import matplotlib.pyplot as plt
  
# Creating dataframe


df = pd.DataFrame({
     'Dates':['2021-06-10', '2021-06-11',
             '2021-06-12', '2021-06-13',
             '2021-06-14', '2021-06-15'],
    'Female': [200, 350, 150, 600, 500, 350],
    'Male': [450, 400, 800, 250, 500, 900]
})
  
# Plotting graph


df.plot(x="Dates", y=["Female", "Male"], kind="bar")

# Show

plt.show()

Explicación:

  • Importar matplotlib librería para la visualización de datos.
  • A continuación, importe pandas biblioteca para crear el marco de datos.
  • Luego crea un marco de datos en pandas usando Marco de datos() función.
  • Para crear un gráfico de barras múltiples, usamos gráfico() método y definir su tipo a bar.
  • Para visualizar la trama, usamos mostrar() función.
diagrama de barra múltiple de series de tiempo de matplotlib

df.plot(tipo=’barra’)

Matplotlib traza series de tiempo con espacios

Aprenderemos a trazar series de tiempo con espacios en esta sección usando matplotlib. Para empezar, veamos una ilustración de lo que brecha significa:

Digamos que tenemos un conjunto de datos en formato CSV, que tiene algunos de los perdido valores. Estos valores en blanco, o celdas en blanco, se sustituyen por Yaya valores. Como resultado, cuando visualizamos este tipo de conjunto de datos, obtenemos un gráfico con rupturas en lugar de líneas continuas.

Para descargar el conjunto de datos, haga clic en Max Temp USA Cities:

Ciudades de EE. UU. de temperatura máxima

Para entender más claramente el concepto, veamos diferentes ejemplos:

  • En primer lugar, hemos importado las bibliotecas necesarias, como pandas y matplotlib.pyplot.
  • Después de esto, lea el archivo csv usando leer_csv() Función de los pandas.
  • Para ver el conjunto de datos, imprímalo.

Código fuente:

# Import Libraries

import pandas as pd 
import matplotlib.pyplot as plt 

# Read CSV

data= pd.read_csv('Max Temp USA Cities.csv')

# Print 

data
matplotlib trazar series de tiempo con espacios

datos

  • A continuación, convertimos el archivo CSV al marco de datos del panda, usando el Marco de datos() función.
  • Si desea ver el marco de datos, imprímalo.

Código fuente:

# Convert data frame


df=pd.DataFrame(data)

# Print

df
matplotlib trazar series de tiempo con marco de datos de brechas

d.f.

  • Inicialice la lista para seleccionar las filas y columnas por posición de pandas Dataframe usando iloc() función.

Código fuente:

# Initilaize list 


dates = list(df.iloc[:,0])
city_1 = list(df.iloc[:,1])
city_2 = list(df.iloc[:,2])
city_3 = list(df.iloc[:,3])
city_4 = list(df.iloc[:,4])
  • Ahora, establezca el tamaño de la figura usando tamaño de higo() función.
  • Para establecer la rotación y el tamaño de la etiqueta del eje x, utilice tick_params() función.
  • Para establecer las etiquetas en el eje x, utilice xetiqueta() función.
  • Para establecer las etiquetas en el eje y, utilice yetiqueta() función.

Código fuente:

# Set Figure Size

plt.figure(figsize=(8,6))

# Setting Ticks

plt.tick_params(axis="x",labelsize=10,rotation=90)

# Labels


plt.xlabel("Dates")
plt.ylabel("Temp")
  • Para trazar un gráfico de líneas sin espacios, use el gráfico() función y pasar las coordenadas de datos sin que falten valores.
  • Para establecer un marcador, pase marcador como parámetro.
  • Para visualizar el gráfico, utilice el mostrar() función.

Ejemplo #1 (Sin espacios)

# Plot

plt.plot(dates, city_4, marker="o")

# Display

plt.show()
matplotlib trazar series de tiempo sin espacios

sin huecos

Ejemplo #2 (Con espacios)

# Set figure

plt.figure(figsize=(8,6))

# Plot

plt.plot(dates,city_1, marker="o")

# Labels

plt.xlabel("Dates")
plt.ylabel("Temp")

# Setting Ticks

plt.tick_params(axis="x",labelsize=10,rotation=90)

# Display

plt.show()
diagrama de series de tiempo de matplotlib con espacios

con huecos

Ejemplo #3 (Con espacios)

Aquí trazamos un gráfico entre las fechas y la ciudad de Los Ángeles.

# Set figure

plt.figure(figsize=(8,6))

# Plot

plt.plot(dates,city_2, marker="o")

# Labels

plt.xlabel("Dates")
plt.ylabel("Temp")

# Setting Ticks

plt.tick_params(axis="x",labelsize=10,rotation=90)

# Display

plt.show()
serie ime con espacios en matplotlib

plt.plot()

Ejemplo #4 (con espacios)

Aquí trazamos un gráfico entre las fechas y la ciudad de Filadelfia.

# Set figure

plt.figure(figsize=(8,6))

# Plot

plt.plot(dates,city_3, marker="o")

# Labels

plt.xlabel("Dates")
plt.ylabel("Temp")

# Setting Ticks


plt.tick_params(axis="x",labelsize=10,rotation=90)

# Display

plt.show()
matplotlib trazar series de tiempo con lagunas

plt.plot()

Ejemplo #5 (Con o Sin Espacio en una Parcela)

# Set figure

plt.figure(figsize=(8,6))

# Plot

plt.plot(dates,city_1, marker="o")
plt.plot(dates,city_4, marker="o")

# Labels

plt.xlabel("Dates")
plt.ylabel("Temp")

# Setting Ticks

plt.tick_params(axis="x",labelsize=10,rotation=90)

# Display

plt.show()
series temporales de matplotlib con o sin espacios

Con o sin huecos

Ryley Crooks

En los Estados Unidos, Python es uno de los lenguajes más utilizados. He usado Python durante mucho tiempo y he trabajado con una variedad de bibliotecas, desde Tkinter, Pandas, NumPy, Turtle, Django, Matplotlib, Tensorflow, Scipy, Scikit-Learn, etc. Comparto contigo mi experiencia de trabajo de muchos años en el campo de la IA.

Publicaciones relacionadas

Deja una respuesta

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

Información básica sobre protección de datos
Responsable Birdie Bashirian PhD +info...
Finalidad Gestionar y moderar tus comentarios. +info...
Legitimación Consentimiento del interesado. +info...
Destinatarios No se cederán datos a terceros, salvo obligación legal +info...
Derechos Acceder, rectificar y cancelar los datos, así como otros derechos. +info...
Información adicional Puedes consultar la información adicional y detallada sobre protección de datos en nuestra página de política de privacidad.

Botón volver arriba