2

次のように作成された離散値 (= カテゴリ/因子) を持つヒートマップがあります。

import xarray
dats =  xarray.DataArray([[2,4,3,5,1],[8,4,5,3,2], [9,3,4,4,1]])
dats.plot(levels=range(0, 11, 1), cmap='Blues')

ヒートマップ

カラースケール/凡例の数字をそれぞれのフィールドの中央に移動したいと思います。私 (および同僚) は、特にヒートマップ自体の x 軸の目盛りがフィールドの真ん中にあることを考えると、フィールドの交点での位置が少し誤解を招くと感じています。

カラー スケールでこれらの値をフィールドの中央まで移動するにはどうすればよいですか (そして、データ セットの値ではない 10 を切り捨てます)。

4

1 に答える 1

2

この目的のために、matplotlib を直接使用する必要があります。

import xarray
import matplotlib.pylab as plt
dats =  xarray.DataArray([[2,4,3,5,1],[8,4,5,3,2], [9,3,4,4,1]])
qm = dats.plot(levels=range(0, 11, 1), cmap='Blues', add_colorbar = False)

cbar = plt.colorbar(qm)
cbar.ax.get_yaxis().set_ticks([])
for j in range(0, 10, 1):
    cbar.ax.text(.5, (j+.5) / 10., j, ha='center', va='center', color='red')
cbar.ax.get_yaxis().labelpad = 15

plt.show()

ここに画像の説明を入力

于 2016-07-27T10:26:31.820 に答える