Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/353.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:极坐标等高线图的颜色栏上的固定边界_Python_Matplotlib_Contour_Colorbar - Fatal编程技术网

Python Matplotlib:极坐标等高线图的颜色栏上的固定边界

Python Matplotlib:极坐标等高线图的颜色栏上的固定边界,python,matplotlib,contour,colorbar,Python,Matplotlib,Contour,Colorbar,正如它在标题中所说的,我正在尝试修复极坐标等高线图的颜色条(vmin=-3和vmax=+3)的值。我将生成几十个这样的图形,颜色条的自动缩放使得比较非常困难 绘图本身由以下代码生成: fig, ax = subplots(subplot_kw=dict(projection='polar')) cax = ax.contourf(thetas, r, values, 130) cb1 = fig.colorbar(cax) 我已经经历了几个小时,仍然没有找到解决办法。我会给我指出正确的方向 您

正如它在标题中所说的,我正在尝试修复极坐标等高线图的颜色条(vmin=-3和vmax=+3)的值。我将生成几十个这样的图形,颜色条的自动缩放使得比较非常困难

绘图本身由以下代码生成:

fig, ax = subplots(subplot_kw=dict(projection='polar'))
cax = ax.contourf(thetas, r, values, 130)
cb1 = fig.colorbar(cax)

我已经经历了几个小时,仍然没有找到解决办法。我会给我指出正确的方向

您可以通过自己传递轮廓级别来完成此操作

不只是尝试设置vmin=3,vmax=3,而是在vmin和vmax之间选择130个值,这样所有图形的值都相同,与数据范围无关

尝试:


首先,谢谢你的努力。不幸的是,添加这行代码没有任何作用。有时我的数据会大于3或小于-3。我很难理解你想法背后的动机。我的数据集是800点。对于我得到的每个点(θ,r,值)。800点的值有时超出范围[-3,3],有时在[-0.1,0.1]内。我添加了一条线,并更改了中间线。您需要同时设置contour_级别,并将其传递到contourf而不是130。通过显式传递轮廓级别,您将确保颜色栏始终覆盖这些级别,而不仅仅是从数据的最小值到最大值。我错过了这个更改。成功了。非常感谢你的帮助!
contour_levels = arange(-3, 3, 0.05)

fig, ax = subplots(subplot_kw=dict(projection='polar'))
cax = ax.contourf(thetas, r, values, contour_levels)
cb1 = fig.colorbar(cax)