倍频程、MATLAB或任何其他软件中基于幅值的彩色点

倍频程、MATLAB或任何其他软件中基于幅值的彩色点,matlab,plot,octave,Matlab,Plot,Octave,我有Z=f(x,y)。我有离散的Z值。我想得到一个二维图,其中Z的大小由点的颜色表示。颜色应随着Z的大小逐渐变化 我更喜欢倍频程或MATLAB解决方案,但任何其他软件都可以。非常感谢您的帮助。一种可能的方法是使用: 例如: Z = rand(10); imagesc(Z) 一种可能的方法是使用: 例如: Z = rand(10); imagesc(Z) 您可以在MATLAB中使用surf()和view。试试这个: figure; surf(Z); view(2); % top-down vi

我有Z=f(x,y)。我有离散的Z值。我想得到一个二维图,其中Z的大小由点的颜色表示。颜色应随着Z的大小逐渐变化


我更喜欢倍频程或MATLAB解决方案,但任何其他软件都可以。非常感谢您的帮助。

一种可能的方法是使用:

例如:

Z = rand(10);
imagesc(Z)

一种可能的方法是使用:

例如:

Z = rand(10);
imagesc(Z)
您可以在MATLAB中使用
surf()
view
。试试这个:

figure;
surf(Z);
view(2); % top-down view
您还可以通过命令启用显示颜色值对应关系的颜色图表。

您可以在MATLAB中使用
surf()
以及
view
。试试这个:

figure;
surf(Z);
view(2); % top-down view

您还可以通过命令启用显示颜色值对应关系的颜色图表。

使用x和y作为数组创建网格:

[X,Y]=meshgrid(x,y)
然后使用surf获得离散的彩色图,z值控制强度

surf(X,Y,z)

使用x和y作为阵列创建网格网格:

[X,Y]=meshgrid(x,y)
然后使用surf获得离散的彩色图,z值控制强度

surf(X,Y,z)

这给出了一个三维图。我想要一个二维图。如果你使用
视图
属性,就不需要了。是的。工作但是,我可以绘制离散点而不是平滑曲面吗?如果我理解你的意思,请尝试
surf(Z,'EdgeColor','None')
而不是
surf(Z)
。拉斐尔的解也会起作用,就像散射函数一样。我想看个别的观点。不是一个光滑的连续表面。这给出了一个三维图。我想要一个二维图。如果你使用
视图
属性,就不需要了。是的。工作但是,我可以绘制离散点而不是平滑曲面吗?如果我理解你的意思,请尝试
surf(Z,'EdgeColor','None')
而不是
surf(Z)
。拉斐尔的解也会起作用,就像散射函数一样。我想看个别的观点。不是光滑的连续表面。