Red de conocimiento informático - Problemas con los teléfonos móviles - Práctica de Python: le enseñaremos paso a paso cómo usar Matplotlib para dibujar datos

Práctica de Python: le enseñaremos paso a paso cómo usar Matplotlib para dibujar datos

Autor: Michael Beyeler

Comuníquese con Huazhang Technology para reimprimir

Si la versión Anaconda Python ya está instalada, ya está instalada y se puede usar Matplotlib. De lo contrario, puede visitar el sitio web oficial y obtener las instrucciones de instalación allí:

http://matplotlib.org

Así como np se usa como abreviatura de NumPy, nosotros Utilizaremos algunas abreviaturas estándar para la Introducción de Matplotlib:

En este libro, la interfaz plt se utilizará con frecuencia.

Creemos nuestra primera trama.

Supongamos que quieres dibujar una gráfica lineal de la función seno sin(x). Obtenga los valores de todos los puntos de la función dentro de 0≤x<10 en el eje de coordenadas x. Usaremos la función linspace en NumPy para crear un espacio lineal de 0 a 10 en el eje de coordenadas x y 100 puntos de muestreo:

Puedes usar la función sin en NumPy para obtener los valores de todos los puntos x y dibuja los resultados llamando a la función plot en plt:

¿Lo has probado tú mismo? ¿Qué pasó? ¿Apareció algo?

La realidad es que dependiendo de dónde ejecutes el script, es posible que no veas nada. Hay varias posibilidades:

1. Dibujar desde un script .py

Si ejecuta Matplotlib desde un script, debe agregar la siguiente línea de llamada:

¡Llama a esta función al final de tu script y aparecerá tu trama!

2. Trazar desde el shell de IPython

Esta es en realidad la forma más conveniente de ejecutar Matplotlib de forma interactiva. Para que aparezca el gráfico, debe utilizar el llamado comando mágico matplotlib después de iniciar IPython.

A continuación, no es necesario llamar a la función plt.show() cada vez, todos los gráficos aparecerán automáticamente.

3. Trazado desde Jupyter Notebook

Si está viendo este código desde un Jupyter Notebook basado en navegador, debe usar el mismo comando mágico matplotlib. Sin embargo, también es posible incrustar gráficos directamente en el cuaderno, que tiene dos opciones de salida:

En este libro, se utilizará la opción en línea:

Ahora inténtalo de nuevo:

El comando anterior obtendrá el siguiente resultado del dibujo:

Si desea guardar el dibujo para usarlo más adelante, puede guardarlo directamente en IPython o Jupyter Notebook usando el siguiente comando:

Solo asegúrese de utilizar una extensión de archivo compatible, como .jpg, .png, .tif, .svg, .eps o .pdf.

Como última prueba de este capítulo, visualicemos un conjunto de datos externos, como el conjunto de datos numéricos en scikit-learn.

Para esto, se necesitan tres herramientas de visualización:

Así que comencemos a presentar estos paquetes:

El primer paso es cargar los datos reales:

Si no recuerdo mal, los dígitos deberían tener dos campos de datos diferentes: el campo de datos contiene los datos de la imagen real y el campo de destino contiene la etiqueta de la imagen. En lugar de confiar en nuestros recuerdos, deberíamos explorar un poco los dígitos.

Ingrese su nombre, agregue un punto y presione la tecla Tab: dígitos.lt. Esta operación nos mostrará que dígitos también contiene algunos otros campos, como un campo llamado imágenes. Los dos dominios, imágenes y datos, parecen distinguirse fácilmente por su forma.

En ambos casos, la primera dimensión corresponde al número de imágenes del conjunto de datos. Sin embargo, todos los píxeles de los datos están organizados en un vector grande, mientras que las imágenes conservan la disposición espacial de 8×8 de cada imagen.

Por tanto, si quieres dibujar una sola imagen, utilizar imágenes será más apropiado. Primero, use la división de matrices de NumPy para obtener una imagen del conjunto de datos:

Aquí está la primera fila de datos obtenida de una matriz de 1797 elementos. Esta fila de datos corresponde a 8 × 8 = 64 píxeles. Ahora puede usar la función imshow en plt para dibujar esta imagen:

El comando anterior obtiene el siguiente resultado:

Además, aquí también se especifica un mapa de colores usando el parámetro cmap . De forma predeterminada, Matplotlib utiliza el chorro de mapeo de colores predeterminado de MATLAB. Sin embargo, en el caso de imágenes en escala de grises, el mapeo de colores grises es más eficiente.

Finalmente, puedes usar la función subtrama de plt para extraer una muestra de todos los números. La función de subtrama es la misma que la función en MATLAB. Debe especificar el número de filas, el número de columnas y el índice de subtrama actual (calculado a partir de 1). Usaremos un bucle for para recorrer las primeras diez imágenes del conjunto de datos, asignando cada imagen a una subtrama separada.

Esto producirá el siguiente resultado:

Acerca del autor: Michael Beyeler es becario postdoctoral en neuroingeniería y ciencia de datos en la Universidad de Washington y se centra en modelos informáticos de visión biónica para implantes. en personas ciegas. La retina artificial (ojo biónico) mejora la experiencia visual de las personas ciegas. Su trabajo se encuentra en la intersección de la neurociencia, la ingeniería informática, la visión por computadora y el aprendizaje automático. También es un colaborador activo de múltiples proyectos de código abierto.

Este artículo está extraído de "Aprendizaje automático: procesamiento inteligente de imágenes con OpenCV y Python" y se publica con el permiso del editor.