在以下简单代码中:
dat = np.linspace(0.1,0.9,4)*np.ones((4,1))
fig, ax = plt.subplots()
cax = ax.imshow(dat, interpolation='none')
cbar = fig.colorbar(cax)
plt.show()
给出:
我希望颜色条的范围为[0,1]。这可以通过以下方式实现:
dat = np.linspace(0.1,0.9,4)*np.ones((4,1))
fig, ax = plt.subplots()
cax = ax.imshow(dat, interpolation='none')
cbar = fig.colorbar(cax)
cbar.set_clim(0, 1)
cbar.set_ticks(np.linspace(0,1,11))
plt.show()
导致:
显然,随着颜色变浅,范围发生了变化,但是刻度没有改变,即cbar.set_ticks()
没有按预期执行。如何更改刻度线?
答案 0 :(得分:2)
我不知道为什么颜色栏无法调整,但您可以通过将呼叫更改为imshow
来实现您想要的效果
dat = np.linspace(0.1, 0.9, 4) * np.ones((4,1))
fig, ax = plt.subplots()
cax = ax.imshow(dat, interpolation='none', vmin=0, vmax=1)
cbar = fig.colorbar(cax)
plt.show()
请注意其他vmin
和vmax
参数。