私は次のコードを持っています:
import matplotlib.pyplot as plt
cdict = {
'red' : ( (0.0, 0.25, .25), (0.02, .59, .59), (1., 1., 1.)),
'green': ( (0.0, 0.0, 0.0), (0.02, .45, .45), (1., .97, .97)),
'blue' : ( (0.0, 1.0, 1.0), (0.02, .75, .75), (1., 0.45, 0.45))
}
cm = m.colors.LinearSegmentedColormap('my_colormap', cdict, 1024)
plt.clf()
plt.pcolor(X, Y, v, cmap=cm)
plt.loglog()
plt.xlabel('X Axis')
plt.ylabel('Y Axis')
plt.colorbar()
plt.show()
したがって、指定したカラーマップを使用して、軸XとYの値「v」のグラフを作成します。X軸とY軸は完璧ですが、カラーマップはvの最小値と最大値の間で広がります。カラーマップの範囲を0から1に強制したいと思います。
私は使用を考えました:
plt.axis(...)
軸の範囲を設定しますが、これはXとYの最小値と最大値の引数のみを受け取り、カラーマップは受け取りません。
編集:
わかりやすくするために、値の範囲(0 ... 0.3)のグラフと、値(0.2 ... 0.8)のグラフがあるとします。
どちらのグラフでも、カラーバーの範囲を(0 ... 1)にする必要があります。両方のグラフで、上の範囲の全範囲を使用して、この色の範囲を同一にしたいので(両方のグラフで0.25が同じ色になります)。最初のグラフでは、0.3から1.0までのすべての色がグラフに表示されず、横のカラーバーキーに表示されます。もう1つは、0から0.2まで、および0.8から1までのすべての色がグラフに表示されず、横のカラーバーに表示されます。