我有一个3D数据(X,Y,Z)。其中X在0- 360之间,Y在0- 180之间,Z在-100 -+ 100之间。
我想将数据量化为X轴和Y轴上的NxM标度值,并获得Z的一些平均值。
此数据应在2D图上显示,其中Z值应用颜色表示(如果值接近100,则绿色,如果值接近-100,则红色)。如何做到这一点呢?
我已经看到有一个histogram2函数,但是它没有考虑z值。
发布于 2021-11-02 01:41:47
不确定您是否打算专门绘制直方图,但这里有一种方法可以在xy平面上绘制一组z值。打印是通过从其俯视图查看三维曲面打印来创建的,以便给人以二维的印象。view()函数接受用于设置观察绘图的Angle和Elevation的参数。根据变量z的振幅/幅值,colormap()函数可用于设置颜色。下面我以随机数据为例。
关于量化数据的主题似乎可以通过对z数据的块/窗口使用均值过滤器来完成。这将需要更多的细节和澄清。任何样本数据都将非常受欢迎。

x = (0:360);
y = (0:180);
z = (200*rand(length(y),length(x))) - 100;
[Time_Grid,Depth_Grid] = meshgrid(x,y);
surf(x,y,z);
title("Intensity Plot");
Angle = 0; Elevation = 90;
view(Angle,Elevation);
xlabel("x"); xlim([0,360]);
ylabel("y"); ylim([0,180]);
red = [1 0 0]; green = [0 1 0]; blue = [0 0 1];
Colour_Palette = [red; blue; blue; blue; green];
colormap(Colour_Palette);
colorbar;https://stackoverflow.com/questions/69773679
复制相似问题