python - real - ¿Hay una lista de estilos de línea en matplotlib?
python graficos 2d (4)
Estoy escribiendo un guión que hará un poco de trama. Quiero que trace varias series de datos, cada una con su estilo de línea único (no el color). Puedo iterar fácilmente a través de una lista, pero ¿existe una lista ya disponible en python?
De acuerdo con el documento , podrías encontrarlos haciendo esto:
from matplotlib import lines
lines.lineStyles.keys()
>>> ['''', '' '', ''None'', ''--'', ''-.'', ''-'', '':'']
Puedes hacer lo mismo con markers
Desde mi experiencia, es bueno tener los colores y marcadores en una lista para que pueda iterar a través de ellos al trazar.
Así es como obtengo la lista de tales cosas. Me tomó un poco de excavación.
import matplotlib
colors_array = matplotlib.colors.cnames.keys()
markers_array = matplotlib.markers.MarkerStyle.markers.keys()
En python3, el método .keys()
devuelve un objeto dict_keys
y no una list
. Debe pasar los resultados a list()
para poder indexar la matriz como podría hacerlo en python2. por ejemplo, esta pregunta SO
Entonces, para crear matrices iterables para líneas, colores y marcadores, puede usar algo como.
import matplotlib
colors_array = list(matplotlib.colors.cnames.keys())
lines_array = list(matplotlib.lines.lineStyles.keys())
markers_array = list(matplotlib.markers.MarkerStyle.markers.keys())
documentacion
http://matplotlib.org/1.5.3/api/pyplot_api.html#matplotlib.pyplot.plot tiene una lista de estilos de línea + marcador:
character description
''-'' solid line style
''--'' dashed line style
''-.'' dash-dot line style
'':'' dotted line style
''.'' point marker
'','' pixel marker
''o'' circle marker
''v'' triangle_down marker
''^'' triangle_up marker
''<'' triangle_left marker
''>'' triangle_right marker
''1'' tri_down marker
''2'' tri_up marker
''3'' tri_left marker
''4'' tri_right marker
''s'' square marker
''p'' pentagon marker
''*'' star marker
''h'' hexagon1 marker
''H'' hexagon2 marker
''+'' plus marker
''x'' x marker
''D'' diamond marker
''d'' thin_diamond marker
''|'' vline marker
''_'' hline marker
Dado que esto es parte de la pyplot.plot
pyplot.plot, también puede verlo desde la terminal con:
import matplotlib.pyplot as plt
help(plt.plot)