He usado Matplotlib para trazar líneas en una figura. Ahora me gustaría establecer el estilo, específicamente el marcador, para puntos individuales en la línea. ¿Cómo hago esto?
Para aclarar mi pregunta, quiero poder establecer el estilo para marcadores individuales en una línea, no todos los marcadores en dicha línea.
python
matplotlib
dbmikus
fuente
fuente
Respuestas:
Especifique la palabra clave args
linestyle
y / omarker
en su llamada aplot
.Por ejemplo, usando una línea discontinua y marcadores de círculo azul:
Una llamada de acceso directo para lo mismo:
Aquí hay una lista de los posibles estilos de línea y marcador:
editar: con un ejemplo de marcado de un subconjunto arbitrario de puntos, como se solicita en los comentarios:
Este último ejemplo usando el
markevery
kwarg es posible desde 1.4+, debido a la fusión de esta rama de características . Si está atascado en una versión anterior de matplotlib, aún puede lograr el resultado superponiendo un diagrama de dispersión en el diagrama lineal. Vea el historial de edición para más detalles.fuente
matplotlib.markers.MarkerStyle.markers
, que devuelve un diccionario similar al que wim publicó anteriormente.Hay una imagen que muestra el nombre y la descripción de todos los marcadores, espero que te sirva de ayuda.
fuente
Para referencia futura: el
Line2D
artista devuelto porplot()
también tiene unset_markevery()
método que le permite establecer solo marcadores en ciertos puntos; consulte https://matplotlib.org/api/_as_gen/matplotlib.lines.Line2D.html#matplotlib.lines.Line2D. set_markeveryfuente
Un truco simple para cambiar la forma, el tamaño de un marcador de punto en particular ... es trazarlo primero con todos los demás datos y luego trazar uno más solo con ese punto (o un conjunto de puntos si desea cambiar el estilo de varios puntos) . Supongamos que queremos cambiar la forma del marcador del segundo punto:
El resultado es: Gráfico con múltiples marcadores
fuente