在Matlab中绘制二进制模式
我有一个关于人们睡眠模式的数据集,看起来像:在Matlab中绘制二进制模式,matlab,plot,Matlab,Plot,我有一个关于人们睡眠模式的数据集,看起来像: Time _________________________________________ Sub Day 21:01 21:02 21:03 ... ... 06:00 ___ _____ _____ _____ _____ _____ 1 1
Time
_________________________________________
Sub Day 21:01 21:02 21:03 ... ... 06:00
___ _____ _____ _____ _____ _____
1 1 1 1 0 0
1 2 1 1 0 0
1 3 0 1 0 0
1 4 0 1 0 0
2 1 1 2 0 0
2 2 1 2 0 0
3 1 1 2 1 0
...
...
10 1 1 1 0 0
10 2 1 1 0 0
10 3 0 1 0 0
每个受试者(子栏)在不同的日期(日栏)从晚上21:01到早上6:00进行评估,采样率为1分钟
时间列中的“1”和“0”分别表示“睡眠”和“清醒”
我想在Matlab中生成一个如下图:
由于每个患者的天数不同,我也希望有不同等级的蓝色(或其他颜色),代表每个患者在那一分钟睡觉的可能性。i、 e.如果患者在所有评估日的晚上21:01睡觉,则该“细胞”的颜色应尽可能深
我的数据可以用以下矩阵表示。
前两列为受试者(仅2名受试者)和天数,其他100列为100分钟
data=[1,1,round(rand(1,100));...
1,2,round(rand(1,100));...
1,3,round(rand(1,100));...
2,1,round(rand(1,100));...
2,2,round(rand(1,100));...
2,3,round(rand(1,100));...
2,4,round(rand(1,100))];
使用
imshow
(或imagesc
,如果您没有图像处理工具箱)和零/一(或概率)数组,而不是二进制表,您可以将患者睡眠的概率(从0到1)放在每个单元格中。然后,您可以使用带括号[]的绘图
,将每个概率值转换为强度颜色。嗨,Jonas,我添加了一个数据示例。@gabboshow将您的输入数据转换为RGB三元组。例如,x=round(rand(10,10));图像sc(x)代码>显示蓝色和黄色,但完整的RGB矩阵将显示黑色和白色。e、 g.x=repmat(x,1,1,3);imagesc(x)
@gabboshow只需键入colormap gray
即可将其转换为灰度。