在 matplotlib 底图颜色条中调整数字精度

Adjusting number precision in matplotlib basemap colorbar

在上面的地图中,我想调整颜色栏标签,使它们在小数点后最多有 3 位。这是我现在正在做的事情:

kwargs = {'fmt': '%.1f'}
cb = m.colorbar(cs, "bottom", size="3%", pad='2%', extend='neither', drawedges=False,
                norm=mpl.colors.Normalize(vmin=xaxis_min, vmax=xaxis_max), spacing='proportional', **kwargs)

但是,这会产生以下错误:

  File "C:\Users\r\Anaconda\lib\site-packages\matplotlib\colorbar.py", line 895, in __init__
    ColorbarBase.__init__(self, ax, **kw)
TypeError: __init__() got an unexpected keyword argument 'fmt'

我该如何解决这个问题?

如果您查看 Colorbar 构造函数的文档,您会发现您需要使用关键字 format 指定格式。相反,您尝试使用 fmt.

kwargs = {'format': '%.1f'}
cb = m.colorbar(cs, "bottom", size="3%", pad='2%', extend='neither', 
                drawedges=False, 
                norm=mpl.colors.Normalize(vmin=xaxis_min, vmax=xaxis_max),
                spacing='proportional', **kwargs)