Plotting multiple inputs on a single figure

14 visualizzazioni (ultimi 30 giorni)
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

Risposta accettata

Star Strider
Star Strider il 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 Commenti
CHRISTOPHER MILLAR
CHRISTOPHER MILLAR il 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.
Star Strider
Star Strider il 8 Apr 2019
As always, my pleasure.

Accedi per commentare.

Più risposte (1)

Bob Thompson
Bob Thompson il 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.

Tag

Prodotti


Release

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by