How can I plot multichannel data in 2d plot like attached image.

1 view (last 30 days)
On x_axis I have different 128 channels. On left y_axis I have input signal and on right y_axis I have colorbars corresponding to output data. Actually output is represented as color information.

Accepted Answer

Ameer Hamza
Ameer Hamza on 17 Jun 2018
Edited: Ameer Hamza on 17 Jun 2018
You can obtain something similar using pcolor(). For Example
[x, y] = meshgrid(1:128, 0:70); % 2d meshgrid
z = sort(rand(size(x))); % sample data, use your own variable
p = pcolor(x,y,z);
p.EdgeAlpha = 0;
colorbar;
I am using random data points therefore it does not look the same as your image. Note that to display white color on the plot, the corresponding element in z variable must be inf.
  3 Comments
aamir irshad
aamir irshad on 17 Jun 2018
Hi , I tested it with my real data and its working well. Only a minor change, to display white part, is to use (nan). inf did not work for me. I attached plot with real data for other colleagues who would need it in the
future. Once again thanks a lot Ameer Hamza .
Cheers,
Aamir
Ameer Hamza
Ameer Hamza on 18 Jun 2018
You are welcome. Also thanks for correcting the mistake and attaching a real example. This might help someone in the future.

Sign in to comment.

More Answers (0)

Categories

Find more on Line Plots in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!