如何将当前显示的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()
答案 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()
方法。