matplotlibにはrcParamsというものがあり、
rcParamsではmatplotlibに関する様々な設定を行うことができます。
rcParamsを使ってみる
個別に設定
rcParamsは辞書形式でパラメータを扱い、
例えば線のスタイルをドット線にしたければ、以下のようにして実現することが出来ます。
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(-4,4,0.01)
y = np.exp(x)
plt.rcParams['lines.linestyle'] = 'dashed'
plt.plot(x,y)
plt.show()

まとめて設定
設定したい項目がたくさんある場合はコードも見にくく、面倒くさいので、plt.rcParams.update()
でまとめて変更しちゃいましょう!
import matplotlib.pyplot as plt
import numpy as np
x= np.arange(-4,4,0.01)
y = np.tanh(x)
config = {
"lines.linestyle":"dotted",
"lines.linewidth":10,
"xtick.labelbottom":False,
"xtick.labeltop":True,
"ytick.labelleft":False,
"ytick.labelright":True
}
plt.rcParams.update(config)
plt.plot(x,y)
plt.show()
設定可能な項目一覧
printを使うと一覧を確認することができます。
import matplotlib.pyplot as plt
print(plt.rcParams)
いちいち出力するのは嫌だという方はこちらをご覧ください。
rcParamsでの設定と引数などで設定することの違い
rcParamsは便利ですが、実際のところ同様のことがほとんど、関数の引数等から設定することで実現することができます。
rcParamsと関数の引数などから設定する場合ではどのような違いがあるのでしょうか??
それは
rcParamsはグローバルであり、
関数の引数などはローカルである
ということです。
具体的には
rcParamsで設定するとそれ以降の全てのグラフに対して適応されますが、
関数の引数などではまさにその関数で行うことにしか適応されません。
プログラム全体のグラフを変更したい場合はrcParamsを使い、
少ししかグラフを作らない時や一部のグラフのみを変更したい場合は関数の引数などを使うと良いと思います。
デフォルトを変更
rcParamsによって設定を行なったとしても、デフォルトが変更されるわけではないので、別の時にグラフを作っても、変更は残っていません。
デフォルトを変更するには matplotlibrc
という設定ファイルを編集する必要があり、matplotlibrc
があるpathは以下のコードで調べることができます。
import matplotlib
matplotlib.matplotlib_fname()
#各自のmatplotlibrcの場所が表示される
matplotlibrc
を開いてみると以下のような設定がズラリと並んでいます。
試しにlines.linestyle
をdashed
に変更してみましょう。

変更後にグラフを表示してみると、確かに設定が反映されていることがわかります。
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(-4,4,0.01)
y = np.tanh(x)
plt.plot(x,y)

コメント