使用科学记数法时,Matplotlib colorbar会格式化

时间:2017-01-04 15:36:14

标签: python matplotlib format colorbar ticker

我为一个愚蠢的问题打扰你,但我找不到一个笨蛋。我正在尝试使用matplotlib为图像添加颜色条。当我尝试格式化颜色条的刻度时出现问题。我想有一个科学的符号格式,但同时控制滴答中的小数位数。例如,使用以下代码:

#format the colorbar ticks labels
sfmt=ticker.ScalarFormatter(useMathText=True) 
sfmt.set_powerlimits((0, 0))

cb1=fig1.colorbar(imp,
              cax=axcbar,
              orientation="vertical",
              ticks=np.linspace(1.03*np.min(imest),0.97*np.max(imest),4),
              format=sfmt)
cb1.set_label(r'$kg/s.m^2$')

我创建了这个数字:

enter image description here

我想在刻度中只有一个小数(即5.210 - > 5.2)。这有可能以一种简单的方式吗?我没有成功地尝试过很多事情。

提前致谢。

1 个答案:

答案 0 :(得分:0)

您可以从

更改刻度线数组
ticks = np.linspace(1.03*np.min(imest),0.97*np.max(imest),4)

类似于:

ticks = np.arange(2.2, 6.2, 1) * 1e6

结果看起来像情节: enter image description here