MatplotLibでマトリックスの列をプロットするときの線張りのリストによるサイクリング
-
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))))]
.
所属していません StackOverflow