Matplotlib: Funciones principales
- Publicado por: Rafael Fernandez
- Categoría: Blog Principiante Python
Matplotlib es una librería para generar gráficas a partir de datos contenidos en listas, vectores, en el lenguaje de programación Python y en su extensión matemática NumPy.
Explorar la librería de gráficos 2D y 3D Matplotlib
Crear diferentes tipos de gráficos con Matplotlib y Python
Matplotlib
Lo primero que debemos hacer es importarla con esta línea:
import matplotlib.pyplot as plt
Hay diferentes formas de plotear con Matplotlib:
figure(num, figsize, dpi, facecolor, edgecolor, frameon)
- num = numeración de la figura, si num = None, las figuras se numeran automáticamente.
- figsize = w, h tuplas en pulgadas. Tamaño de la figura
- dpi = Resolución de la imagen en puntos por pulgada.
- facecolor = Color del rectángulo de la figura.
- edgecolor = Color del perímetro de la figura.
- frameon = Si es falso, elimina el marco de la figura.
Para crear mas figuras en una misma ventana podemos utilizar el siguiente comando:
subplot(numRows, numCols, plotNum)
- numRows = Número de filas
- numCols = Número de columnas
- plotNum = Número de gráfica
plot(x, y, linestyle, linewidth, marker) –> Permite incluir varias gráficas en una única figura.
- x = Abcisas.
- y = Ordenadas. Tanto x como y pueden ser abcisas tuplas, listas o arrays, pero ambas deben tener el mismo tamaño.
- linestyle = color y tipo de dibujar la gráfica. Por ejemplo ‘k- -‘
- linewidth = ancho de línea.
- marker = Marcador.
import matplotlib.pyplot as plt import numpy as np # Importamos numpy como el alias np a = np.linspace(0,20,50) b= np.sin(a) plt.plot(a, b, 'k--', linewidth = 2) plt.show()
Tipos o trazados de líneas communes en Matplotlib:
‘ – ‘ línea sólida
‘ -. ‘ línea con puntos y rayas
‘ – -‘ línea a rayas
‘ : ‘ línea punteada
Colores comunes en Matplolib
‘c’ Cián
‘b’ Azul
‘g’ Verde
‘y’ Amarillo
‘k’ Negro
‘w’ Blanco
‘r’ Rojo
‘m’ Magenta
Ejemplo con tipos de líneas, colores, marcadores, leyenda, textos en los ejes, malla…
Ejemplo donde se aplican diferentes tipos de líneas, colores, marcadores, leyenda, textos en los ejes, malla y se guarda la figura en Matplolib:
import matplotlib.pyplot as plt import numpy as np # Importamos numpy como el alias np a = np.linspace(0,20,50) b= np.sin(a) c=plt.plot(a, b, 'c-3', linewidth = 2) c=plt.plot(a+0.2, b-1, 'r-o', linewidth = 2) plt.xlabel("Tiempo (s)", fontsize = 20) plt.ylabel(r"$y (\mu m)$", fontsize = 24, color = 'blue') plt.text(5, 7, "Más texto", fontsize = 12) plt.title("velocidad (m/s)", fontsize = 20) plt.legend( ('Etiqueta1', 'Etiqueta2', 'Etiqueta3'), loc = 'upper left') plt.grid(True) plt.savefig('figura3.png', dpi = 300) #guarda la gráfica con 300dpi (puntos por pulgada) plt.show()
Ejemplo de subplot en Matplolib:
import matplotlib.pyplot as plt import numpy as np # Importamos numpy como el alias np a = np.linspace(0,20,50) b= np.sin(a) plt.figure() # plot 1 plt.subplot(2,2,1) plt.plot(a, b,'r') # Segunda grafica plt.subplot(2,2,2) plt.plot(a+2, b*25,'g') # Tercera grafica plt.subplot(2,2,3) plt.plot(b, a,'b') # Cuarta grafica plt.subplot(2,2,4) plt.plot(a, b,'k') # Mostramos en pantalla plt.show()
Ejemplo de gráfica en dos dimensiones en Matplolib:
import numpy as np import matplotlib.pyplot as plt plt.figure() x = np.arange(-5, 5, 0.01) y = np.arange(-5, 5, 0.01) X, Y = np.meshgrid(x, y) # Definimos cos (x^3 + y^2) fxy = np.cos(X**3+Y**2) plt.imshow(fxy); plt.colorbar(); plt.show()
Ejemplo de una gráfica de 3 dimensiones en Matplolib:
from mpl_toolkits.mplot3d import Axes3D import matplotlib.pyplot as plt from matplotlib import cm from matplotlib.ticker import LinearLocator, FormatStrFormatter import numpy as np fig = plt.figure() # Tipo de figura ax = fig.gca(projection='3d') # Datos X = np.arange(-4, 4, 0.3) Y = np.arange(-4, 4, 0.3) X, Y = np.meshgrid(X, Y) R = np.sqrt(X**2 + Y**2) Z = np.sin(R) # Graficamos o trazamos la superficie surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap='jet') # Personalizamos el ejex z ax.set_zlim(-1.01, 1.01) ax.zaxis.set_major_locator(LinearLocator(10)) ax.zaxis.set_major_formatter(FormatStrFormatter('%.02f')) # Agregamos una barra de colores para que asigne valores a los colores. fig.colorbar(surf, shrink=0.5, aspect=5) plt.show()
La visualización es una parte importante en muchas áreas de la computación como el análisis de datos!!
➡ ¿Quieres saber mas de Python? Te invitamos al Curso de Python para Principiantes:
[…] Crear plots y hacer graficas de resultados: Matplotlib […]
[…] parte del curso esta enfocada en realizar operaciones de algebra, cálculos y en como graficar los resultados obtenidos. Por último nos enfocaremos en una introduccion a la programación orientada […]
[…] que puede utilizar. En este ejemplo, vamos a generar un gráfico Matplotlib. Echa un vistazo a ese tutorial sobre cómo usar Matplotlib si aún no lo tienes […]
[…] El conjunto de datos se almacena en Python listo para su uso en Keras. Cada imagen se representa como una matriz tridimensional, con dimensiones para rojo, verde, azul, ancho y altura. Podemos graficar imágenes directamente usando la librería de Matplotlib Python. […]
[…] de proyección sobre los vectores, como los métodos que se ofrecen en scikit-learn, y luego usar Matplotlib para trazar la proyección como una gráfica de dispersión. Veamos un ejemplo con el Análisis de […]
[…] operaciones de algebra y cálculos, librerias de tiempo, calendarios y números aletorios así como graficar los resultados obtenidos. Antes de terminar esta penúltima parte realizamos 10 ejercicios python que te ayudarán […]
Me gustaría, por favor, abordaran un poco más en este contenido en específico. Creo que resulta un tema de gran importancia y relevante en su uso para la programación
Deadpool1905 gracias trabajaremos agrandando este contenido. Saludos!
[…] que puede utilizar. En este ejemplo, vamos a generar un gráfico Matplotlib. Echa un vistazo a ese tutorial sobre cómo usar Matplotlib si aún no lo tienes […]
[…] El conjunto de datos se almacena en Python listo para su uso en Keras. Cada imagen se representa como una matriz tridimensional, con dimensiones para rojo, verde, azul, ancho y altura. Podemos graficar imágenes directamente usando la librería de Matplotlib Python. […]
[…] Las distintas funciones de Matplotlib te ayudarán a presentar la información que contienen tus análisis de una forma más entendible. La clave está en adaptar el formato de visualización al tipo audiencia. No es lo mismo presentar tus conclusiones al equipo directivo que a tus compañeros del departamento de analítica. […]