MatplotLibでマトリックスの列をプロットするときの線張りのリストによるサイクリング

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

  •  20-12-2019
  •  | 
  •  

質問

私はおそらく明白なものを逃しています。

を使用して、マトリックスの列に含まれているデータを1回の呼び出しでプロットしています。
plot(x,A)
.

xは、Aの行数と同じ長さの1Dのnumpy arangeです。 これが生成されたラインプルは、MATPLOTLIB.RC

で設定されたデフォルトカラーサイクルを介したカラーサイクリングを備えたすべてのフルラインです。

私はカラーサイクルを変更できることを知っています(そしてすべての列に対して単一の色とrintyleを持つこともできます)。ただし、ラインスタイル(フル、破線、ダッシュドット、ドット付き)のみを循環させることができます(ブラックを維持したい)、まだ単純なシングルプロットコールを維持しますか?

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

は機能しません。

役に立ちましたか?

解決

関連するソースはclass _process_plot_var_args()axes.pyにありますが、色サイクルのみが定義されています。同様のラインスタイルサイクルは不可能です。

それゆえ、これらをする必要があります:

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

画像の説明がここにあります

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top