filling a 1D plot with colours associated to each sample value

5 views (last 30 days)
I plotted a 1D signal in Matlab, and then I want to show the value of each specific sample by a district colour. something like what "imagesc" command does for 2D plots. I attached an example of what is in my mind. Any suggestions, please?

Answers (1)

Abdolkarim Mohammadi
Abdolkarim Mohammadi on 2 Sep 2020
Edited: Abdolkarim Mohammadi on 2 Sep 2020
You can use patch() and use your response values for both edges and the color data. You replace your data with SampleX and SampleY.
SampleX = (1220:1250)';
SampleY = rand (numel(SampleX), 1);
PatchX = vertcat (SampleX, flip(SampleX));
PatchY = vertcat (SampleY, zeros(numel(SampleY),1));
ColorData = vertcat (SampleY, flip(SampleY));
patch (PatchY, PatchX, ColorData);
colorbar ();

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!