Python-具有0.99和0.999不同颜色的自定义颜色图

时间:2019-10-11 09:55:12

标签: 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左右,尽管有一些峰值在0.999附近。因此,我一直在寻找一种具有“更高分辨率”的连续色图,它从一种颜色从0.990变为另一种颜色在0.999,从而使最后+0.009的变化可见。一个二进制解决方案,尽管所有值都超过给定数字(例如0.998),但看起来也不那么好!

1 个答案:

答案 0 :(得分:2)

您可以为matplotlib颜色图设置3种特殊颜色, 超过,低于和糟糕。这些分别是超出范围和nan值的颜色。

对于您的用例,您可以将颜色范围的最大值设置为0.99,然后像这样设置覆盖颜色:


cmap = plt.get_cmap('coolwarm')
cmap.set_over('black')
fig = plt.figure()
ax = fig.gca(projection='3d')
surf = ax.plot_surface(X_grid, Y_grid, Z_grid, cmap=cmap, vmax=0.99)