在matplotlib中获取colorbar的tick值

时间:2017-08-04 13:23:37

标签: python matplotlib colorbar

如何将当前显示的matplotlib颜色条的刻度提取为列表?在这个例子中,我应该得到浮点数[-0.6, -0.4, -0.2, 0, 0.2, 0.4, 0.6]

的列表
import matplotlib.pyplot as plt
import numpy as np

img = np.random.normal(0, 0.2, size=(100,100))
plt.imshow(img)
plt.colorbar()
plt.show()

2 个答案:

答案 0 :(得分:3)

获取彩条轴的标签(可能是x或y轴):

cb=plt.colorbar()
for t in cb.ax.get_yticklabels(): print(t.get_text())

或者

ticks = [float(t.get_text().replace('−','-')) for t in cb.ax.get_yticklabels()]
print (ticks)

在我的语言环境中减去有点不同,我用通常的减号(或matplotlib行为)替换它。

输出

[-0.6, -0.4, -0.2, 0.0, 0.2, 0.4, 0.6]

答案 1 :(得分:1)

在matplotlib版本2.1中引入了colorbar.get_ticks()方法。