特にグレースケール画像を扱う場合、imshow
コマンドごとにimshow(i, cmap='gray')
としてカラーマップを設定するのは面倒です。 matplotlibがグレースケールまたは他のカラーマップに使用するデフォルトのカラーマップを設定するにはどうすればよいですか?
現在のインタラクティブセッションまたは1つのスクリプトのデフォルトカラーマップのみを変更するには
import matplotlib as mpl
mpl.rc('image', cmap='gray')
2.0より前のmatplotlib
のバージョンでは、rcParams dictを使用する必要があります。これは、新しいバージョンでも機能します。
import matplotlib.pyplot as plt
plt.rcParams['image.cmap'] = 'gray'
デフォルトのカラーマップを永久に変更するには、matplotlibrc構成ファイルを編集して、行image.cmap: gray
。必要に応じて、値grayを他の有効なカラーマップに置き換えます。構成ファイルは~/.config/matplotlib/matplotlibrc
、しかしあなたは正確な場所を見つけることができます
mpl.matplotlib_fname()
これは、異なる仮想環境に複数のmatplotlibバージョンがある場合に特に便利です。
http://txt.arboreus.com/2014/10/21/how-to-set-default-colormap-in-matplotlib.html およびMatplotlibの一般的な構成についても参照してください http://matplotlib.org/users/customizing.html
どちらでもできます
plt.set_cmap('jet')
または
plt.rcParams['image.cmap']='jet'
ただし、いずれかのAPIでcolor
パラメーターの値を渡す場合、このデフォルトは無視されることに注意してください。その場合、次のようにする必要があります。
color = plt.cm.hsv(r) # r is 0 to 1 inclusive
line = matplotlib.lines.Line2D(xdata, ydata, color=color)