Python 获取颜色条标签

Python 获取颜色条标签,python,matplotlib,colorbar,Python,Matplotlib,Colorbar,我有一个散点图: x,y,c,s = np.random.rand(100), np.random.rand(100), np.random.rand(100)*100, np.random.rand(100)*100 plt.scatter(x,y,c=c,s=s,cmap='YlGnBu', alpha=0.3) cbar = plt.colorbar() 如何获取颜色条标签?我可以想象,使用cbar.ax.get_yticklabels()我非常接近解决方案。然而,鉴于下图,我希望有如下

我有一个散点图:

x,y,c,s = np.random.rand(100), np.random.rand(100), np.random.rand(100)*100, np.random.rand(100)*100
plt.scatter(x,y,c=c,s=s,cmap='YlGnBu', alpha=0.3)
cbar = plt.colorbar()
如何获取颜色条标签?我可以想象,使用
cbar.ax.get_yticklabels()
我非常接近解决方案。然而,鉴于下图,我希望有如下内容:

array([ 10.,  20.,  30.,  40.,  50.,  60.,  70.,  80.,  90.])

这将提供颜色条y轴刻度上的刻度,该刻度有限制(0.0、1.0)

这就是您需要的:

np.interp(cbar.ax.get_yticks(), cbar.ax.get_ylim(), cbar.get_clim())
结果是:

array([ 10.,  20.,  30.,  40.,  50.,  60.,  70.,  80.,  90.])
试试这个:

x,y,c,s = np.random.rand(100), np.random.rand(100), np.random.rand(100)*100, np.random.rand(100)*100
b = plt.scatter(x,y,c=c,s=s,cmap='YlGnBu', alpha=0.3)
cbar = plt.colorbar(b)
label_list = []
for i in cbar.ax.get_yticklabels():
    a = int(i.get_text())
    label_list.append(a)
print label_list
plt.show()

我得到的答案是[10,20,30,40,50,60,70,80,90]哇。多谢。我想我最大的问题是阅读文本列表。酷,如果你想要浮点,你可以使用float()而不是int()
x,y,c,s = np.random.rand(100), np.random.rand(100), np.random.rand(100)*100, np.random.rand(100)*100
b = plt.scatter(x,y,c=c,s=s,cmap='YlGnBu', alpha=0.3)
cbar = plt.colorbar(b)
label_list = []
for i in cbar.ax.get_yticklabels():
    a = int(i.get_text())
    label_list.append(a)
print label_list
plt.show()