質問

Matplotlibを輪郭プロットで使用するとき、私は私が望むようにColorBarを表示するのに苦労しています。私は多くの同様の例を読みましたが、まだ私が望むものを手に入れることができませんでした。

下の画像では、2つのことを変更したいと思います。最小値と最大値をカラーバーに表示したい(最大値は2.0と最小-0.1である必要があります)。これらの2つの値は、ColorBarのまさに端にある必要があります。また、ColorBarにすべてのカラー遷移で値を表示してもらいたいです。例えば。以下のプロットには、2.1から1.8の間に、値が表示されない別の色の遷移があります。

誰かが私を助けてくれませんか?私は標準を使う必要があるかもしれないと思いますが、それは今のところ私にとってはうまくいっていません。

ありがとう、

enter image description here

コード:

import numpy as np
import matplotlib.pyplot as plt

xi = np.array([0., 0.5, 1.0])
yi = np.array([0., 0.5, 1.0])
zi = np.array([[0., 1.0, 2.0],
               [0., 1.0, 2.0],
               [-0.1, 1.0, 2.0]])

plt.contour(xi, yi, zi, 15, linewidths=0.5, colors='k')
plt.contourf(xi, yi, zi, 15, cmap=plt.cm.jet)
plt.colorbar()
plt.show()
役に立ちましたか?

解決

私があなたが望むものを正しく理解していれば、これはそれをするべきだと思います:

import numpy as np
import matplotlib.pyplot as plt

xi = np.array([0., 0.5, 1.0])
yi = np.array([0., 0.5, 1.0])
zi = np.array([[0., 1.0, 2.0],
               [0., 1.0, 2.0],
               [-0.1, 1.0, 2.0]])

v = np.linspace(-.1, 2.0, 15, endpoint=True)
plt.contour(xi, yi, zi, v, linewidths=0.5, colors='k')
plt.contourf(xi, yi, zi, v, cmap=plt.cm.jet)
x = plt.colorbar(ticks=v)
print x
plt.show()

enter image description here

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top