MATLAB Answers


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

Asked by aamir irshad on 17 Jun 2018
Latest activity Commented on by Ameer Hamza
on 18 Jun 2018
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.


Sign in to comment.

1 Answer

Answer by Ameer Hamza
on 17 Jun 2018
Edited by Ameer Hamza
on 17 Jun 2018
 Accepted Answer

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;
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.


Thanks a lot. It looks perfectly what I was looking for. Great job. I will update u after integrating with my real data.
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 .
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.