Matlab 如何绘制具有不同填充阴影的多个信号以显示数据的统计行为?

Matlab 如何绘制具有不同填充阴影的多个信号以显示数据的统计行为?,matlab,plot,statistics,matlab-figure,Matlab,Plot,Statistics,Matlab Figure,我在T秒内对一个信号进行了多次测量。所有数据都存储在T×M矩阵中。其中M为4000,T为40秒(第一图)。大多数观测都在一个时间间隔内。因此,我想生成一个使用不同强度的阴影来显示数据集中的图(类似于第二个图的右侧) 您可以使用patch命令执行此操作,但您需要计算包含每个区域上下限的多边形(由每个时间点的std值确定) 例如,您可以这样做,使用线性变化的随机数进行测试 data=rand(40,4000).*repmat((1:40)',1,4000); t=1:size(data,1); h

我在
T
秒内对一个信号进行了多次测量。所有数据都存储在
T×M
矩阵中。其中
M
4000
T
40
秒(第一图)。大多数观测都在一个时间间隔内。因此,我想生成一个使用不同强度的阴影来显示数据集中的图(类似于第二个图的右侧)


您可以使用
patch
命令执行此操作,但您需要计算包含每个区域上下限的多边形(由每个时间点的std值确定)

例如,您可以这样做,使用线性变化的随机数进行测试

data=rand(40,4000).*repmat((1:40)',1,4000);
t=1:size(data,1);
hold on;
for i=3:-1:1
   y1=mean(data')+i*std(data');
   y2=mean(data')-i*std(data');
   area=[t fliplr(t); y1 fliplr(y2)]';
   patch(area(:,1),area(:,2),1/i*[t fliplr(t)]);
end
colormap(hot)

您可以将颜色“C”输入更改为面片,以调整其颜色分布和透明度。面片对象还有许多属性,您可以设置这些属性来调整其视觉外观。

一种方法是假设2D图形是图像。将每个数据点
矩阵(t,m)
转换为图像坐标并增加像素值。您将得到一个图像,其中每个像素的强度显示有多少条线与该像素相交。亮度越高,像素越“亮”。谢谢。但仍然存在一个问题。建议的代码生成x轴上的对称形状,不包含数据的真实形状。我想这是因为你提到的:“每个区域的上下限”。请您进一步澄清,并说明如何定义边界@方克