刻度线在颜色栏上无法正确显示

时间:2019-05-08 15:31:57

标签: python python-3.x matplotlib

使用以下代码:

import matplotlib.cm as cm
from matplotlib import colors
import matplotlib.pyplot as plt

colormap = cm.YlOrRd

norm = colors.LogNorm(vmin=100, vmax=10000)
sm = plt.cm.ScalarMappable(cmap=colormap, norm=norm)
sm.set_array([])
cb = plt.colorbar(sm, ticks = [1,10,100,1000,10000,100000]) 
plt.show()

我希望刻度是“ 100 1000 10000”,但我看到的是10的幂。我该如何解决?

2 个答案:

答案 0 :(得分:1)

有办法

cb = plt.colorbar(sm, ticks = [1,10,100,1000,10000,100000], format='%.0f') 

这可以删除10 ^ m的符号,您只需要精确设置格式

format='%.0f'

答案 1 :(得分:0)

您的inject为100,但您将刻度设置为1和10。vmin为10000,但最高刻度为100000。我已更正了刻度值,以与您所需的颜色匹配酒吧。

虽然使用vmax是最好的解决方案,但可以采用以下替代方法

format

enter image description here