10

自動的に生成される正と負の値を持つカラーバーがあります (設定していません)。残念ながら、マイナス記号はテキストの垂直方向の配置を壊します。ticklabels のすべてのテキストを右揃えにするか、正の数の前にスペースを挿入して見栄えを良くするにはどうすればよいですか?

ここに画像の説明を入力

4

4 に答える 4

5

テキストの配置を変更できます。カラーバー自体と重ならないように、ラベルの (x) 位置を少し変更する必要がある場合があります。

a = np.random.randn(10,10)

fig, ax = plt.subplots()

im = ax.imshow(a, interpolation='none')
cb = plt.colorbar(im)

for t in cb.ax.get_yticklabels():
    t.set_horizontalalignment('right')   
    t.set_x(3.5)

ここに画像の説明を入力

于 2013-10-07T08:54:28.270 に答える
4

私はちょうど同じ質問をしようとしていましたが、ついにあなたのものを見つけました。そこで、独自の回避策を追加したいと思います。

最初は、Rutger Kassies によって提供されたものとまったく同じソリューションを使用しました。ただし、 でプロットする場合、小さなウィンドウで表示したり、Figure を全画面表示に設定したりするとipython、同じ量の位置のシフトでも結果が大きく異なります。x

最終的にpad、カラーバーの目盛りラベルを設定することにしました。Rutgerのサンプル コードを露骨に盗用:

a = np.random.randn(10,10)

fig, ax = plt.subplots()

im = ax.imshow(a, interpolation='none')
cb = plt.colorbar(im)

ticklabs = cb.ax.get_yticklabels()
cb.ax.set_yticklabels(ticklabs,ha='right')
cb.ax.yaxis.set_tick_params(pad=45)  # your number may vary

この回避策は、さまざまなウィンドウ サイズと側面で使用する場合に、より一貫した結果をもたらすようです。

私が何を意味するかを示す 4 つの出力を次に示します。上の行は位置シフト ソリューション、下の行はパディング ソリューションです。左側はデフォルトの Figure ウィンドウ サイズで、右側savefigは Figure ウィンドウをフル スクリーンにポップした後に表示されます。

上段は古いソリューション、下段は私のもの

于 2016-02-03T02:02:38.040 に答える