繁体   English   中英

使用科学计数法时Matplotlib色条刻度格式

[英]Matplotlib colorbar ticks format when using scientific notation

我在问一个愚蠢的问题,但我找不到遮阳篷。 我正在尝试使用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$')

我创建此图:

在此处输入图片说明

我只想在小数点后保留一个小数点(即5.210-> 5.2)。 这有可能简单吗? 我尝试了很多事情都没有成功。

提前致谢。

您可以从以下位置更改刻度线的数组

ticks = np.linspace(1.03*np.min(imest),0.97*np.max(imest),4)

像这样:

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

结果看起来像这样: 在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM