Ciclismo a través de la lista de estilos de lineal al trazar columnas de una matriz en matplotlib

StackOverflow https://stackoverflow.com//questions/23000578

  •  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.

¿Fue útil?

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))))]

ingrese la descripción de la imagen aquí

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top