Multiple one variable many parameter plots

3 views (last 30 days)
If I have a
function compare(varargin)
for loop i = 1:3:length(varargin)
height = varargin{i};
width = varargin{i+1};
length = varargin{i+2};
%add to same height plot
%add to same width plot
%add to same length plot
end
end
each user input parameter has height width and length, is there a way to make three separate plots with one plot having only height but all parameters' height, one plot having only width but all parameters' width, and one plot having only length but all parameters' length? I've tried a series of figure and hold on/off but can't seem to find a way to continue plotting back to the first or second plot.
  1 Comment
Adam
Adam on 11 Jun 2019
Edited: Adam on 11 Jun 2019
figure, axes and plot creation all return a handle to the object just created. If you keep hold of these then you can plot things (or edit existing plots) exactly where you want to
e.g.
hFigWidth = figure; hAxesWidth = gca;
hWidthPlot = plot( hAxesWidth,... );
Not necessarily the best way to organise the variables, but it's an example at least.
Also, as shown above, plotting instructions allow you to specify the axes explicitly. Likewise hold also does, e.g.
hold( hAxesWidth, 'on' );

Sign in to comment.

Accepted Answer

Allison Miller
Allison Miller on 11 Jun 2019
I figured it out myself, I added this to the for loop:
figure(1)
plot(height,'o');
hold on
figure(2)
plot(width,'o');
hold on
figure(3)
plot(length,'o');
hold on
thanks for the suggestions!

More Answers (1)

Sajeer Modavan
Sajeer Modavan on 11 Jun 2019
Edited: Sajeer Modavan on 11 Jun 2019
I didn't understood whats your input. I hope this function will be accepted if I understood what you are looking.
function compare(varargin)
for ii = 1:3:length(varargin)
height(ii) = varargin{ii};
width(ii) = varargin{ii+1};
length1(ii) = varargin{ii+2};
end
figure
plot(height)
figure
plot(width)
figure
plot(length1)
end

Tags

Community Treasure Hunt

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

Start Hunting!