Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/286.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 在colorbar Matplotlib中设置颜色范围_Python_Matplotlib - Fatal编程技术网

Python 在colorbar Matplotlib中设置颜色范围

Python 在colorbar Matplotlib中设置颜色范围,python,matplotlib,Python,Matplotlib,我有几组代表降雨强度的图像。我需要简单地用colorbar()以离散化的颜色绘制它们。我找到了一些其他的答案,但我找不到完全相同的答案。 我的问题是,我必须根据给定的降雨强度范围设置颜色范围 如何根据colorbar中的给定值设置颜色?一幅图像的一个示例如下所示: No | Color | Rain rate ------------------------------ 0 | Not visible | Under 0.2 1 | Off-white

我有几组代表降雨强度的图像。我需要简单地用colorbar()以离散化的颜色绘制它们。我找到了一些其他的答案,但我找不到完全相同的答案。 我的问题是,我必须根据给定的降雨强度范围设置颜色范围

如何根据colorbar中的给定值设置颜色?一幅图像的一个示例如下所示:

No  | Color         |  Rain rate
------------------------------ 
0   |  Not visible  | Under 0.2
1   |  Off-white    | 0.3 - 0.5
2   |  Sky-blue     | 0.6 - 1.5
3   |  Light Blue   | 1.6 - 2.5
4   |  Blue         | 2.6 - 4
5   |  Light Cyan   | 5 - 6
6   |  Cyan         | 7 - 10
7   |  Dark Cyan    | 11 - 15
8   |  Yellow       | 16 - 35 
9   |  Yellow-orange| 36 - 50
10  |  Orange       | 51 - 80
11  |  Orange-red   | 81 - 100
12  |  Red          | 100 - 120
13  |  Dark Red     | 120 - 200
14  |  Maroon       | 200 - 350
15  |  Dark Brown   | over 350

您要查找的工具称为ListedColorMap,请参见此处的文档:

在matplotlib中,只要需要自定义颜色,就可以用rob字符串替换颜色字符串。因此,如果你想,而不是“红色”,只需说“eeefff”:

cmap = colors.ListedColormap(['white', "#eeefff"])
bounds=[0,5,10]
norm = colors.BoundaryNorm(bounds, cmap.N)

plt.hist2d(xvals, yvals, cmap=cmap)

非常感谢。但是,我在matplotlib方面的经验较少。如何手动设置上述颜色。因为,我只看到“直”的颜色,像“b”-蓝,“r”-红。。。在你给我的链接中。编辑以回答你的问题。@Spider你也可以使用HTML颜色名称。下面是我经常使用的一个很好的列表:
cmap = colors.ListedColormap(['white', "#eeefff"])
bounds=[0,5,10]
norm = colors.BoundaryNorm(bounds, cmap.N)

plt.hist2d(xvals, yvals, cmap=cmap)