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-自定义颜色映射,具有0.99和0.999的不同颜色_Python_Matplotlib - Fatal编程技术网

Python-自定义颜色映射,具有0.99和0.999的不同颜色

Python-自定义颜色映射,具有0.99和0.999的不同颜色,python,matplotlib,Python,Matplotlib,我正在做一个3D绘图,其中Z值从0延伸到大约1。我想知道是否可能有一个颜色映射,其中我的0.999值与我的0.99值是可微的,这样我就可以辨别出那些峰值 以下是我目前的相关代码: fig = plt.figure() ax = fig.gca(projection='3d') surf = ax.plot_surface(X_grid, Y_grid, Z_grid, cmap=cm.coolwarm) 为清晰起见进行编辑: 我有从0到1的连续Z值。我的大多数值都在0.990左右,但也有一些峰

我正在做一个3D绘图,其中Z值从0延伸到大约1。我想知道是否可能有一个颜色映射,其中我的0.999值与我的0.99值是可微的,这样我就可以辨别出那些峰值

以下是我目前的相关代码:

fig = plt.figure()
ax = fig.gca(projection='3d')
surf = ax.plot_surface(X_grid, Y_grid, Z_grid, cmap=cm.coolwarm)
为清晰起见进行编辑:

我有从0到1的连续Z值。我的大多数值都在0.990左右,但也有一些峰值在0.999左右。所以一个具有“更高分辨率”的连续颜色贴图,从一种颜色从0.990变为另一种颜色在0.999,这样最后+0.009的变化是可见的,这就是我想要的。一个二进制解决方案,其中所有高于给定数字(例如0.998)的值也可以,尽管可能没有那么好看

可以为matplotlib颜色贴图设置3种特殊颜色, 上、下、坏。这些分别是范围外值和nan值的颜色

对于您的用例,您可以将颜色范围的最大值设置为0.99,并按如下方式设置覆盖颜色:


cmap=plt.get\u cmap('coolwarm')
cmap.set_over('黑色')
图=plt.图()
ax=图gca(投影=3d')
surf=ax.绘制曲面(X_网格、Y_网格、Z_网格、cmap=cmap、vmax=0.99)