Ciclismo a través de la lista de estilos de lineal al trazar columnas de una matriz en matplotlib
-
20-12-2019 - |
Pregunta
Probablemente estoy perdiendo algo obvio.Estoy planeando los datos contenidos en las columnas de una matriz en una sola llamada usando
plot(x,A)
¿Dónde está GreenacodiCetAnGode es un argen número 1D con una longitud igual al número de filas de A. Los distintos distintos se genera todas las líneas completas con un ciclo de color a través del ciclo de color predeterminado establecido en matplotlib.rc
Sé que puedo modificar el ciclo de color (e incluso puede tener un solo color y un estilo de lines para todas las columnas).Sin embargo, ¿cómo puedo simplemente recorrer los estilos de línea (digamos a través de lleno, discutir, salpicaduras, punteadas) y no el color (quiero mantenerlo negro) y seguir manteniendo la simple llamada de una sola parcela?
plot(x,A,['k-','k--','k-.','k:'])
no funciona.
Solución
La fuente relacionada está en class _process_plot_var_args()
en axes.py
, como puede ver, solo se define el ciclo de color.Un ciclo de estilo similar no es posible.
Por lo tanto, tenemos que hacer esto:
A=range(10)
B=np.random.randn(10,12)
p_list=plt.plot(A, B)
line_cycle=['-','--','-.',':']
_=[l.set_linestyle(st) for l, st in zip(p_list, np.repeat(line_cycle, 1+(len(p_list)/len(line_cycle))))]