Visualización de datos con Matplotlib y Python

PythonPythonBeginner
Practicar Ahora

This tutorial is from open-source community. Access the source code

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, usaremos la librería Matplotlib de Python para calcular la media (mu) y la desviación estándar (sigma) de 100 conjuntos de datos y graficar mu vs. sigma. También agregaremos interactividad a la gráfica para que cuando haces clic en uno de los puntos (mu, sigma), se graficarán los datos crudos del conjunto de datos que generó este punto.

Consejos sobre la VM

Una vez que se haya iniciado la VM, haz clic en la esquina superior izquierda para cambiar a la pestaña Cuaderno y acceder a Jupyter Notebook para practicar.

A veces, es posible que tengas que esperar algunos segundos a que Jupyter Notebook termine de cargar. La validación de operaciones no puede automatizarse debido a las limitaciones de Jupyter Notebook.

Si tienes problemas durante el aprendizaje, no dudes en preguntar a Labby. Proporciona retroalimentación después de la sesión y te resolveremos el problema inmediatamente.

Generar datos aleatorios

Primero, necesitamos generar 100 conjuntos de datos aleatorios, cada uno contiene 1000 números aleatorios entre 0 y 1. Usaremos el módulo random de numpy para generar los datos aleatorios.

import numpy as np

np.random.seed(19680801)

X = np.random.rand(100, 1000)

Calcular la media y la desviación estándar

A continuación, calcularemos la media y la desviación estándar de cada uno de los 100 conjuntos de datos. Usaremos las funciones mean y std de numpy para calcular estos valores.

xs = np.mean(X, axis=1)
ys = np.std(X, axis=1)

Graficar los datos

Ahora, graficaremos mu vs. sigma usando el módulo pyplot de Matplotlib. Crearemos un diagrama de dispersión usando los valores calculados para mu y sigma. También agregaremos interactividad a la gráfica estableciendo el parámetro picker en True.

import matplotlib.pyplot as plt

fig, ax = plt.subplots()
ax.set_title('click on point to plot time series')
line, = ax.plot(xs, ys, 'o', picker=True, pickradius=5)

Agregar interactividad

Cuando se hace clic en un punto del diagrama de dispersión, queremos graficar los datos crudos del conjunto de datos que generó ese punto. Definiremos una función onpick que se llamará cuando se haga clic en un punto. La función graficará los datos crudos y mostrará la media y la desviación estándar para ese conjunto de datos.

def onpick(event):

    if event.artist!= line:
        return

    N = len(event.ind)
    if not N:
        return

    figi, axs = plt.subplots(N, squeeze=False)
    for ax, dataind in zip(axs.flat, event.ind):
        ax.plot(X[dataind])
        ax.text(.05,.9, f'mu={xs[dataind]:1.3f}\nsigma={ys[dataind]:1.3f}',
                transform=ax.transAxes, va='top')
        ax.set_ylim(-0.5, 1.5)
    figi.show()


fig.canvas.mpl_connect('pick_event', onpick)

Mostrar la gráfica

Finalmente, mostraremos la gráfica usando la función show.

plt.show()

Resumen

En este laboratorio, aprendimos cómo usar Matplotlib para calcular la media y la desviación estándar de 100 conjuntos de datos y graficar mu vs. sigma. También agregamos interactividad a la gráfica para que cuando se hace clic en un punto, se muestren los datos crudos del conjunto de datos que generó ese punto. Este laboratorio demuestra el poder y la flexibilidad de Matplotlib para explorar y visualizar datos.