En este tutorial explicamos cómo graficar varios tipos de líneas, colores y marcadores usando matplotlib en Python. Aquí verás la sintaxis para poder tener líneas personalizadas en tus graficas con varios estilos.
Resumen.
Te damos algunas combinaciones para que entiendas como puedes graficar diversas líneas y marcadores en python usando matplotlib.
plt.plot(x, y, "ob--”)
“ob- -”, “o” marcador en forma de circulo, “–” línea discontinua, “b” marcador y línea color azul.
“b”, línea continua color azul, sin marcadores.
“b- -”, línea discontinua “– ”,color azul “b”, sin marcadores.
“xb”, marcador en forma de cruz “x”, color azul “b”, sin línea.
“xb- -”, línea discontinua “- -”, con marcador en forma de cruz “x”, ambos color azul “b”.
“-.” Línea punto-guion “-.”, color por default, sin marcador.
“x” Marcador en forma de cruz “x”, sin línea, color por default.
“g:” Línea punteada “:”, color verde “g”, sin marcador.
“xk” marcador en forma de cruz “x”, color negro “k”, sin línea.
“vg-” Línea sólida “-”, con marcador triangular “v”, ambos de color verde “g”.
plt.plot(x, y, "ob--", lw=5, ms =7, mfc="r", mec = "r")
El ancho de la línea se modifica con lw = 5, el ancho de la línea es 5.
Para cambiar el tamaño del marcador se usa ms = 7, marcador tamaño 7.
El relleno del marcador con mfc = “r”, relleno color rojo.
Y el borde del marcador se modifica con mec = “r”, bode color rojo.
Parámetros predeterminados matplotlib.
Cuando graficamos en Python usando la librería matplotlib, si no elegimos ningún parámetro. Se usarán los parámetros predeterminados o por default.
Por ejemplo al graficar lo siguiente:
import matplotlib.pyplot as plt x = [0,1,2,3,4,5,6,7,8,9,10] for i in range(len(x)): y.append(x[i]**2) plt.plot(x,y) plt.ylabel("Eje X") plt.xlabel("Eje Y") plt.show()
Como vemos es una línea continua de un color por default, sin marcadores en cada punto de la gráfica.
Pero eso lo podemos manipular a nuestro antojo como lo veremos más adelante.
Agregar estilos de líneas, colores y marcadores.
Cuando graficamos una línea en matplotlib, podemos indicar su color, el tipo de línea y si queremos algún marcador en caca punto de la gráfica.
Al escribir el código debemos cumplir con el siguiente orden:
“marcador, color y tipo de línea”.
Nota: Si no vamos a personalizar todo, podemos omitir algún parámetro y se usará el predeterminado.
Por ejemplo, una línea discontinua color rojo, que marque cada punto con una cruz.
plt.plot(x,y,"xr--")
- La “x” es el marcador en forma de cruz.
- La “r” es el color rojo.
- Y “–” simboliza una línea discontinua.
Las opciones que tienes para los tipos de líneas puedes verlos en este enlace.
Los colores los puedes ver en este otro tutorial.
Y los marcadores en este otro enlace.
Veamos la una gráfica usando el comando anterior.
import matplotlib.pyplot as plt x = [0,1,2,3,4,5,6,7,8,9,10] for i in range(len(x)): y.append(x[i]**2) plt.plot(x,y,"xr--") plt.ylabel("Eje X") plt.xlabel("Eje Y") plt.show()
Obtendremos la siguiente imagen:
Marcador con color distinto.
Si queremos que el marcador tenga un color diferente, podemos usar los comandos “mec” para el color de la línea del marcador y “mfc” para el relleno del marcador.
Puedes verlo más a detalle en este enlace.
import matplotlib.pyplot as plt x = [0,1,2,3,4,5,6,7,8,9,10] for i in range(len(x)): y.append(x[i]**2) plt.plot(x,y,"xr--",mec=”b”) plt.ylabel("Eje X") plt.xlabel("Eje Y") plt.show()
Ahora tendríamos esta imagen:
Ahora vamos a graficar lo siguiente.
Una línea discontinua color azul, con un marcador en forma de punto color negro.
Lo que queremos es lo siguiente:
Y lo podemos hacer fácilmente introduciendo el código para la línea y marcador, y agregando un color distinto al marcador.
import matplotlib.pyplot as plt x = [0,1,2,3,4,5,6,7,8,9,10] for i in range(len(x)): y.append(x[i]**2) plt.plot(x, y, "ob--", mfc="r", mec = "r") plt.ylabel("Eje X") plt.xlabel("Eje Y") plt.show()
- “ob–”, La “o” indica marcador en forma de punto, la “b” es de color azul y “–” línea discontinua.
- El comando mfc=”r” indica que el relleno del marcador será color “r”, es decir, rojo.
- Y el comando mec=”r” indica que el borde del marcador será color “r”, es decir, rojo
Una línea sin marcador, matplotlib python.
Podemos graficar líneas sin un marcador, simplemente omitiendo el marcador, es decir así:
import matplotlib.pyplot as plt x = [0,1,2,3,4,5,6,7,8,9,10] for i in range(len(x)): y.append(x[i]**2) plt.plot(x, y, "b:") plt.ylabel("Eje X") plt.xlabel("Eje Y") plt.show()
No es un marcador, sino que el “b:” indica que es una línea punteada azul.
Graficar solo con marcadores, de tamaño especifico, matplotlib.
Podemos graficar solamente los marcadores, y hasta darles un tamaño especifico con el comando “ms” o “markersize”.
import matplotlib.pyplot as plt x = [0,1,2,3,4,5,6,7,8,9,10] for i in range(len(x)): y.append(x[i]**2) plt.plot(x, y, "vk", ms=8) plt.ylabel("Eje X") plt.xlabel("Eje Y") plt.show()
Donde “vk” es un triángulo color negro, y le damos un tamaño de 8 con “ms=8”.
Obtenemos la siguiente grafica.
Para más tutoriales de Python y matplotlib, ve a la sección de Python.