Matlab:颜色等级星座图

use*_*666 5 matlab plot histogram

我正在使用Matlab.我有一个由复数值组成的大型列向量.例如

data = [
-0.4447 + 0.6263i
0.3114 + 0.8654i
0.7201 + 0.6808i
0.7566 + 0.8177i
-0.7532 - 0.8085i
-0.7851 + 0.6042i
-0.7351 - 0.8725i
-0.4580 + 0.8053i
0.5775 - 0.6369i
0.7073 - 0.5565i
0.4939 - 0.7015i
-0.4981 + 0.8112i
....
]

这表示如下所示的星座图.

在此输入图像描述

我想根据特定点的频率对星座点进行颜色分级.我认为我需要创建一个直方图,但我不知道如何使用复杂的矢量,然后如何绘制颜色等级.任何帮助赞赏.

X''*_*X'' 3

我想你想做一个热图:

histdata = [real(data), imag(data)];
nbins_x = nbins_y = 10; 
[N, C] = hist3(histdata, [nbins_x, nbins_y]); % the second argument is optional.
imagesc(N);
Run Code Online (Sandbox Code Playgroud)

这里hist3创建直方图矩阵,imagesc绘制缩放热图。如果您喜欢 3D 可视化,只需输入hist3(histdata)

如果您只需右键单击工作区窗口中的 N,就会出现许多其他可视化选项。我建议也尝试使用contourf(N)填充等高线图。