Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 调整matplotlib basemap颜色栏中的数字精度_Python_Matplotlib_Matplotlib Basemap - Fatal编程技术网

Python 调整matplotlib basemap颜色栏中的数字精度

Python 调整matplotlib basemap颜色栏中的数字精度,python,matplotlib,matplotlib-basemap,Python,Matplotlib,Matplotlib Basemap,在上面的地图中,我想调整颜色条标签,使它们在小数点后最多有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='proportio

在上面的地图中,我想调整颜色条标签,使它们在小数点后最多有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'

如何解决此问题?

如果查看构造函数的文档,您会发现需要使用kwarg
格式指定格式。相反,您尝试使用
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)

实际上,从映射的角度来看,对于这样的投影,比例尺是完全无用的,因为它不适用于地图上的任何地方。最好完全忽略它。@DanPatterson这不是一个比例尺。。。这是一个颜色映射,用于将一个值(例如给定国家的贫困率低于%)映射到颜色表示。它独立于投影。用户的帖子完美地展示了这个用法。用户选择在
xaxis_min
xaxis_max
之间标准化颜色的原因是另一回事。