Python, gráfica básica con Matplotlib.

En este tutorial explicamos cómo usar la librería matplotlib para graficar en Python. Aquí explicamos una gráfica básica, te enseñamos a agregar datos en los ejes para mostrar la gráfica.

Matplotlib es una librería de Python muy potente, con la cual puedes hacer gráficas y personalizarlas, puedes agregar símbolos, funciones matemáticas, diversos colores, líneas puntos, etc. Hasta puedes crear animaciones y gráficas en 3D.

Este es un tutorial para que entiendas como empezar, y puedes graficar algo sencillo.

Resumen:

Importa la librería:

 import matplotlib.pyplot as plt

Genera datos:

 
import math

for i in range(0,540):
	grados.append(i)
	radianes = (i* math.pi)/180
	seno.append(math.sin(radianes))

Grafica los datos:

plt.plot(grados,seno,”k”)
plt.show()

Nota: No olvides plt.show().

Importando la librería.

Lo primero que debemos hacer en nuestro código es importar la librería, eso comúnmente se hace así:

 import matplotlib.pyplot as plt

Importando así la librería en lugar de usar matplotlib.pyplot, podemos usar plt.

Datos a graficar.

Vamos seleccionar que datos queremos graficar. En este caso graficaremos la función Seno.

Para graficar, primero necesitamos declarar 2 arreglos, uno para el eje X que llamaremos grados y uno para el eje Y que llamaremos seno. Asi declaramos los arreglos vacíos en Python.

 grados=[]
seno=[]

Luego calculamos la función seno usando la librería math (las funciones trigonométricas están en radianes). Con el comando append() agregamos los valores al arreglo.

 
import math

for i in range(0,540):
	grados.append(i)
	radianes = (i* math.pi)/180
	seno.append(math.sin(radianes))

Graficando con matplotlib en Python.

Luego agregamos los arreglos de datos a la gráfica con el comando plt.plot(ejeX, ejeY). Los grados en el eje X y el resultado en el eje Y.

 plt.plot(grados,seno)

Y por último que no se nos olvide mostrar la gráfica con el comando plt.show()

 plt.show()

El código completo es:

import matplotlib.pyplot as plt
import math

grados=[]
seno=[]

for i in range(0,540):
	grados.append(i)
	radianes = (i* math.pi)/180
	seno.append(math.sin(radianes))

plt.plot(grados,seno)
plt.show()

Y esta es la imagen:

Python matplotlib

Si queremos la línea de otro color, solo agregamos entre comillas el color. En el siguiente código la línea será roja.

plt.plot(grados,seno,”r”)
plt.show()

O bien una línea negra.

plt.plot(grados,seno,”k”)
plt.show()

O una línea punteada negra.

plt.plot(grados,seno,”k--”)
plt.show()

¿Por qué no aparece mi gráfica con matplotlib?

Normalmente eso ocurre porque se nos olvida mostrar la gráfica. Con el comando plt.show().

Graficando sin arreglos, dentro del ciclo for.

Otra manera de graficar sin usar arreglos de datos, es mostrar los datos dentro del ciclo for.

En este caso graficaremos cada vez que el ciclo for se repita, pero no lo mostraremos hasta que el ciclo for termine.

Para poder ver la gráfica, necesitamos graficar puntos en lugar de líneas (“o”).

Además haremos esos puntos más pequeños con “markersize”.

Y para que estén más separados los puntos, haremos que los grados se incrementen de 10 en 10.

 import matplotlib.pyplot as plt
import math

for i in range(0,540,10):
	radianes = (i* math.pi)/180
	seno = math.sin(radianes)
	plt.plot(i,seno,"ko",markersize="3")

plt.show()

Como puedes notar, se graficarán puntos negros cada 10 grados. Y los mostramos una vez que termine el ciclo for.

Python Grafica simple