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