Как построить несколько сигналов с разными закрашенными оттенками, чтобы показать статистическое поведение данных? - PullRequest
0 голосов
/ 16 апреля 2020

У меня есть несколько измерений для сигнала более T секунд. Все данные хранятся в матрице T by M. Где M равно 4000, а T равно 40 секунд (первый рис). Большинство наблюдений находятся в пределах интервала. Поэтому я хотел бы создать график, который использует оттенки с различной интенсивностью, чтобы показать концентрацию данных (аналогично правой части второго рисунка).

enter image description here

enter image description here

1 Ответ

1 голос
/ 17 апреля 2020

вы можете сделать это с помощью команды patch, но вам нужно будет вычислить многоугольник, который охватывает верхнюю и нижнюю границы каждой области (определяется вашими стандартными значениями в каждый момент времени).

Например, вы можете сделать что-то вроде этого, использовать линейно изменяющиеся случайные числа для теста

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' для ввода патча, чтобы настроить его распределение цвета и прозрачность. У объектов патча также есть много свойств, которые вы можете настроить для настройки его внешнего вида.

...