andar de bicicleta através de lista de linestyles quando desenhar colunas de uma matriz em matplotlib

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

  •  20-12-2019
  •  | 
  •  

Pergunta

Eu sou provavelmente a falta algo óbvio.Eu tô traçando os dados contidos nas colunas de uma matriz em uma única chamada usando

plot(x,A)

onde é x é uma 1D numpy arange com um comprimento igual ao número de linhas de A.O lineplots isso gera são todas as linhas completas com uma cor de bicicleta pela cor padrão do conjunto de ciclo valem a pena conhecer:rc

Eu sei que posso modificar o ciclo de cor (e pode até mesmo ter uma única cor e linestyle para todas as colunas).No entanto, como eu só posso ciclo os estilos de linha (digamos, meio cheia, tracejada, traço-tracejada, pontilhada) e não na cor (eu quero mantê-lo em preto) e ainda manter o simples SIMPLES pedaço de chamada ?

plot(x,A,['k-','k--','k-.','k:']) 

não funciona.

Foi útil?

Solução

Origem relacionados em class _process_plot_var_args() no axes.py, como você pode ver, apenas o ciclo de cor está definida.Um semelhante linestyle ciclo não é possível.

Portanto, precisamos fazer essas:

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

enter image description here

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top