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