2016-07-07 6 views
2

私は第3の変数に関して着色された散布図を持っています。私はこのプロットのカラーバーを作成することができますが、カラーバー上に外部レベル(水平線だけ)も表示したいと考えています。matplotlibカラーバーに外部値を示します

X = np.array([0, 1, 2, 3, 4, 5, 6]) 
Y = np.array([0, 1, 2, 3, 4, 5, 6]) 
Z = np.array([0, 1, 2, 3, 4, 5, 6]) 
fig, ax = plt.subplots() 
plt.scatter(X, Y, c=Z, cmap='gist_heat', vmin=Z.min(), vmax=Z.max(), s=500) 
cbar = plt.colorbar() 

緑色(言い換えれば)ラインがカラーバーの4.0に表示されます。何か案は?

ありがとう

答えて

4

カラーバーは軸です。その上に水平線をプロットすることができます。線をプロットする場所を調べるには、カラーバーのノルムを使用して、「特別な」値をカラーバー軸の位置にマッピングします。

cbar.ax.hlines(cbar.norm(4), 0, 1, color='green') 
関連する問題