1. ホーム
  2. python

[解決済み] matplotlib でラインスタイルを循環させることができる?

2023-07-03 21:27:07

質問

matplotlibで色のリストを循環させる方法は知っています。しかし、線のスタイル(平線、点線、破線など)で同じようなことをすることは可能でしょうか?私は、私のグラフが印刷されたときに読みやすくなるように、それを行う必要があります。それをするために何か提案はありますか?

どのように解決するのですか?

このような方法で解決できるかもしれません。

import matplotlib.pyplot as plt
from itertools import cycle
lines = ["-","--","-.",":"]
linecycler = cycle(lines)
plt.figure()
for i in range(10):
    x = range(i,i+10)
    plt.plot(range(10),x,next(linecycler))
plt.show()

結果

新しいバージョン(v2.22)用に編集しました。

import matplotlib.pyplot as plt
from cycler import cycler
#
plt.figure()
for i in range(5):
    x = range(i,i+5)
    linestyle_cycler = cycler('linestyle',['-','--',':','-.'])
    plt.rc('axes', prop_cycle=linestyle_cycler)
    plt.plot(range(5),x)
    plt.legend(['first','second','third','fourth','fifth'], loc='upper left', fancybox=True, shadow=True)
plt.show()

より詳細な情報については matplotlib tutorial on "Styling with cycler" を参照してください。

出力を見るには " をクリックします。 図を表示 をクリックします。