matlab surf plot sides中的不同颜色

Different color in matlab surf plot sides

我正在使用 surf 函数绘制一些信号的 3D 频谱图,其中某些点可能有重要的尖峰,并且其中还有一些连续的 CW 音调。

我遇到的问题是 matlab surf 函数采用最后一个点值为数据着色,因此结果可能有点混乱。在接下来的图片中可以很容易地看到这种效果。

从两张图片中都可以看出,峰值的一侧是黄色的,而另一侧是黄色的,当冲浪采用来自左侧的值并为线着色时发生的效果下一个点及其值,所以在左侧我们有一些比峰值颜色低的值,在右边我们有峰值颜色直到下一个点。

我想知道除了 surf 之外是否有任何方法或其他函数来平均这些值,以便绘图在尖峰上具有更均匀(连贯)的颜色。

不要使用喷射色图!当你这样做时,就会发生这样的废话。

尝试使用更好的颜色图,例如 parula、viridis 或任何其他颜色图。您会注意到这些视觉人工制品是如何配药的。这样做的原因是因为在您的数据中,绿色是从 ~-70 到 ~-55,而橙色大约是 5 宽度。那糟透了!这就是人们发明感知统一色图的原因。 You can get them for MATLAB

此外,使用 caxis 使最大颜色更接近您的数据。

另外:添加 shading interp 以生成表面插值值,而不是纯色