Relleno de marcador Matplotlib

Salman Mehmood 15 febrero 2024
Relleno de marcador Matplotlib

Esta explicación verá cómo personalizar el estilo del marcador, crear un marcador relleno y crear un gráfico con diferentes estilos de línea en Matplotlib.

Crear marcador lleno y sin llenar en Matplotlib

El marcador representa los puntos en un gráfico. Puede ser una cadena de un solo carácter o un número entero.

Podemos personalizar el estilo y el tamaño del marcador usando estos dos parámetros, el primero es un marcador y el segundo es tamaño del marcador. El marcador tiene varios estilos para señalar en los gráficos.

Valor Descripción
9 Un número entero 9 marcará los puntos de datos usando los triángulos que apuntan a la derecha.
+ Una cadena con un carácter + marcará los puntos de datos usando el signo +.
X Una cadena con la letra x minúscula marcará los puntos de datos usando cruces sin rellenar.
X Una cadena con una letra X mayúscula marcará los puntos de datos usando cruces llenas.
4 Un número entero 4 marcará los puntos de datos usando los triángulos que apuntan a la izquierda.
s Una cadena con la letra minúscula s marcará los puntos de datos usando cuadrados.
d Una cadena con la letra minúscula d marcará los puntos de datos con rombos.
PAG Una cadena con una letra P mayúscula marcará los puntos de datos usando signos más rellenos.
pag Una cadena con la letra p minúscula marcará los puntos de datos usando polígonos.
h Una cadena con la letra h minúscula marcará los puntos de datos usando hexágonos.
H Una cadena con una letra H mayúscula marcará los puntos de datos usando hexágonos rellenos.
o Una cadena con la letra o minúscula marcará los puntos de datos usando formas de búho.

Veamos un ejemplo que usa colores de línea, estilos y marcadores.

Necesitamos importar numpy, y también necesitamos importar matplotlib.pyplot. A continuación, creamos las matrices de datos, donde X contiene 15 puntos distribuidos uniformemente entre pi negativo y pi positivo, y C contiene los valores de coseno de X y S contiene los valores de seno de X.

import numpy as np
import matplotlib.pyplot as plot

X = np.linspace(-np.pi, np.pi, 15)
C = np.cos(X)
S = np.sin(X)

Luego, creemos una figura con un “tamaño de figura” de 5 pulgadas por 4 pulgadas y un dpi de 80. Necesitamos crear cuatro ejes usando la función subplot con 2 filas y 2 columnas.

En los primeros ejes, graficamos la función coseno. El color de la línea es azul marino, el “estilo de línea” es una línea densamente discontinua, el “marcador” es una estrella y el “tamaño del marcador” es 8.

plot.subplot(2, 2, 1)
plot.plot(X, C, color="navy", linestyle=(0, (5, 1)), marker="*", markersize=8)

En los segundos ejes, trazamos la función seno. La línea color es "naranja", el marcador es una cruz y el tamaño del marcador es 8.

plot.subplot(2, 2, 2)
plot.plot(
    X, S, color="orangered", linestyle=(0, (3, 1, 1, 1)), marker="x", markersize=8
)

En el tercer eje, graficamos la función coseno negativo. La línea color es "verde oscuro", el estilo de línea es una línea continua, el marcador es un círculo y el tamaño del marcador es 8.

plot.subplot(2, 2, 3)
plot.plot(X, -C, color="darkgreen", linestyle=(0, ()), marker="o", markersize=8)

En los cuartos ejes, graficamos la función seno negativo. La línea color es ladrillo refractario, y el “estilo de línea” es una línea densamente punteada, el marcador es un signo más y el tamaño del marcador es 8.

plot.subplot(2, 2, 4)
plot.plot(X, -S, color="firebrick", linestyle=(0, (1, 1)), marker="p", markersize=8)

Código fuente completo:

import numpy as np
import matplotlib.pyplot as plot

X = np.linspace(-np.pi, np.pi, 15)
C = np.cos(X)
S = np.sin(X)
fig = plot.figure(figsize=(5, 4), dpi=80)

plot.subplot(2, 2, 1)
plot.title("Unfilled Marker")
plot.plot(X, C, color="navy", linestyle=(0, (5, 1)), marker="*", markersize=8)
plot.subplot(2, 2, 2)
plot.plot(
    X, S, color="orangered", linestyle=(0, (3, 1, 1, 1)), marker="x", markersize=8
)
plot.subplot(2, 2, 3)
plot.plot(X, -C, color="darkgreen", linestyle=(0, ()), marker="o", markersize=8)
plot.subplot(2, 2, 4)
plot.plot(X, -S, color="firebrick", linestyle=(0, (1, 1)), marker="p", markersize=8)
plot.show()

Producción:

marcador sin llenar en matplotlib

El siguiente es un ejemplo de cómo llenar marcadores con diferentes caracteres.

Código:

import numpy as np
import matplotlib.pyplot as plot

X = np.linspace(-np.pi, np.pi, 15)
C = np.cos(X)
S = np.sin(X)
fig = plot.figure(figsize=(5, 4), dpi=80)

plot.subplot(2, 2, 1)
plot.title("Filled Marker")
plot.plot(X, C, color="navy", linestyle=(0, (5, 1)), marker="D", markersize=8)
plot.subplot(2, 2, 2)
plot.plot(
    X, S, color="orangered", linestyle=(0, (3, 1, 1, 1)), marker="X", markersize=8
)
plot.subplot(2, 2, 3)
plot.plot(X, -C, color="darkgreen", linestyle=(0, ()), marker="P", markersize=8)
plot.subplot(2, 2, 4)
plot.plot(X, -S, color="firebrick", linestyle=(0, (1, 1)), marker="H", markersize=8)
plot.show()

Producción:

marcador lleno en matplotlib

Haga clic aquí para leer más sobre los estilos de marcador rellenos y vacíos.

Salman Mehmood avatar Salman Mehmood avatar

Hello! I am Salman Bin Mehmood(Baum), a software developer and I help organizations, address complex problems. My expertise lies within back-end, data science and machine learning. I am a lifelong learner, currently working on metaverse, and enrolled in a course building an AI application with python. I love solving problems and developing bug-free software for people. I write content related to python and hot Technologies.

LinkedIn