これを作成しました。カラーバーが非常に薄いことがわかりますが、高さを増やさずにカラーバーの幅を増やす方法はありますか
1 に答える
カラーバーの軸をつかむ必要があります。
カラーバーへの参照を保持していると仮定すると、cbar
を介して軸にアクセスできcbar.ax
ます。
高さ/幅の比率は。で制御できますax.set_aspect(number)
。これにより、この比率に一致するように軸が再スケーリングされますが、再スケーリングが実行される方法は、私には完全には理解されていません。
この数を少しずつ増やしたり減らしたりすると、軸は1次元で縮小/拡大し、それに応じて比率に一致します。しかし、ある時点で動作が変化し、さらに増減すると、他の次元で伸び/縮みが生じます。
axis.set_aspectのドキュメントには次のように書かれています。
高さが幅のnum倍になるように円が引き伸ばされます。アスペクト=1はアスペクト='等しい'と同じです</p>
この煩わしさを完全に回避したい場合は、設定ax.set_aspect('auto')
し、その後、軸の正確な位置を明示的に設定します。
ax.set_position((left, bottom, width, height))
単位はフィギュアキャンバスを基準にしており、キャンバスの左下隅にあるからまで伸びています0
。1
0,0
例:set_position((0.1, 0.2, 0.4, 0.6))
軸の左下の端を(0.1, 0.2)
に、右上の端をに配置します(0.1 + 0.4, 0.2 + 0.6)