1
カラーバーの上にラベルを配置しようとしています。ラベルの描画は問題ありませんが、カラーバー軸の最終的な位置調整は機能していません。 "set_position"を呼び出すだけで何もしないようです。ここに私のコードです:matplotlibカラーバーの位置を調整する
import numpy as np
import matplotlib.pyplot as plt
# Plot some sample data.
X, Y = np.meshgrid(np.arange(1, 10, 0.1), np.arange(1, 10, 0.1))
Z = np.sin(X) ** 2 + np.cos(Y) ** 2
plt.pcolor(X, Y, Z)
# Add the colorbar.
cb = plt.colorbar(shrink=0.8)
cax = cb.ax
# Add label on top of colorbar.
cb.ax.set_xlabel("mylabel")
cb.ax.xaxis.set_label_position('top')
cb.ax.xaxis.set_label_coords(1.8, 1.05)
# Adjust colorbar position (NOT working).
pos1 = cax.get_position()
yshift = pos1.height * 0.05/0.8
pos2 = [pos1.x0, pos1.y0 - yshift, pos1.width, pos1.height]
cax.set_position(pos2)
# Adjust and show the plot.
plt.tight_layout()
plt.show()
私は間違っていますか?
あなたは2番目のポイントで釘を打つ。それは確かにマニュアル配置を元に戻した 'plt.tight_layout()'呼び出しでした。 – emher