いくつかのデータの等高線図を作成したいのですが、フィールド内のすべての値が同じ値である可能性があります。これにより、matplotlibでエラーが発生します。これは、作成する輪郭が実際にはないため、理にかなっています。たとえば、以下のコードを実行するとエラーが発生しますが、の2番目の定義を削除するzi
と、期待どおりに実行されます。
均一なフィールドである場合、一部のデータの「等高線」プロットを作成するにはどうすればよいですか?通常の等高線図のように見せたい(ボックスに色を塗りつぶし、側面にカラーバーを表示する。カラーバーは均一な色にすることも、15色の範囲を表示することもできます。気にしない)。
コード:
from numpy import array
import matplotlib.pyplot as plt
xi = array([0., 0.5, 1.0])
yi = array([0., 0.5, 1.0])
zi = array([[0., 1.0, 2.0],
[0., 1.0, 2.0],
[0., 1.0, 2.0]])
zi = array([[1.0, 1.0, 1.0],
[1.0, 1.0, 1.0],
[1.0, 1.0, 1.0]])
CS = plt.contour(xi, yi, zi, 15, linewidths=0.5, colors='k')
CS = plt.contourf(xi, yi, zi, 15, cmap=plt.cm.jet)
plt.colorbar()
plt.show()