我正在做一个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_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)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句