カラーバーを使用して、imshow を使用してプロットされた個別のコード化された値にラベルを付けようとしています。boundaries
およびキーワードを使用して必要なカラーバーを実現できますvalues
。これにより、カラーバーの最大値は、プロットされるデータの最大値よりも実質的に 1 大きくなります。
カラーバーの各色範囲の中央に目盛りを配置したいのですが、データ値の制限外にあるため、カラーバーの最大の色ブロックの目盛り位置を指定できません。
問題を示すコードの簡単なブロックを次に示します。
data = np.tile(np.arange(4), 2)
fig = plt.figure()
ax = fig.add_subplot(121)
ax.imshow(data[None], aspect='auto')
cax = fig.add_subplot(122)
cbar = fig.colorbar(ax.images[0], cax=cax, boundaries=[0,1,2,3,4], values=[0,1,2,3])
cbar.set_ticks([.5, 1.5, 2.5, 3.5])
cbar.set_ticklabels(['one', 'two', 'three', 'four'])
「4」があるべき場所に目盛りが欠けていることに注意してください。これを行う正しい方法は何ですか?