Plotting multiple inputs on a single figure

16 views (last 30 days)
Hello again
Does anybody know how i can plot a graph that looks like this or point me in the direction of a good tutorial that will help me figure it out? I have 8 sensor readings for a number of different movements and I want to display each sensors readings on a single figure like this opposed to using subplots, is this possible?
Thanks in advance

Accepted Answer

Star Strider
Star Strider on 8 Apr 2019
Use the bsxfun function to add an offset value to each row of a matrix of signals.
Example —
t = linspace(0, 36, 250); % Create Data
y = sin([1:6]'*t*2*pi); % Create Data
yofst = bsxfun(@plus, y, (1:size(y,1))'*2); % Add Constant Offset Values To Each Row
figure
plot(t, yofst)
grid
After that, you can do whatever you like with the tick values and labels. See the documentation for Axes Properties (link) and related functions.
Experiment to get the result you want.
  4 Comments
CHRISTOPHER MILLAR
CHRISTOPHER MILLAR on 8 Apr 2019
I have only been working with Matlab for a week or 2 so I am still tying to get to grips with it.
Thanks for your help, I was able to use your solution to produce the figure exactly as I needed it to.

Sign in to comment.

More Answers (1)

Bob Thompson
Bob Thompson on 8 Apr 2019
I you are looking for separate plots like that I would suggest using subplot. This will allow you to present multiple plots in one figure.
Alternatively, you can also plot multiple sets of data into one plot by entering 'hold on' somewhere before the second set of data is plotted (must be activated for each figure, if multiple figures are being created). I believe newer versions of Matlab automatically change the color of the lines for each data set, but it is also possible to do this manually.

Tags

Products


Release

R2018b

Community Treasure Hunt

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

Start Hunting!