is there way to allocate yyaxis automatically

3 views (last 30 days)
I have question about yyaxis i use gui checkbox in matlab
so if i check a and b -> a plot in y left b plot in y right
if i check b and c -> b plot in y left c plot in y right
like this is there way to allocate yyaxis automatically?
if yyaxis left is used i can use yyaxis right
  7 Comments
woongki park
woongki park on 31 Oct 2018
when i check more than 2 check box.what should i do?(handles.countplot>2)
Kevin Chng
Kevin Chng on 1 Nov 2018
Hi Wongki,
Do you want to plot more than 3plot in a graph? In your original question, i guess you want maximum 2 plot in the same axes.if more than 3, warn your user.

Sign in to comment.

Answers (1)

Kevin Chng
Kevin Chng on 1 Nov 2018
Two conditions have to be fulfilled
1) Maximum plot not allow more than 3, so it ensure your graph don't have 3rd yaxis.
2) How you program know that how many plot have been done on your graph/axes?
Assign a value to handle first if you are using guide GUI
handles.countplot = 0
then in your call back function of checkbox
if handles.checkbox.Value == 1
handles.countplot = handles.countplot + 1;
% call your plot function
else handles.checkbox.Value ==0
handles.countplot = handles.countplot - 1;
% call your plot function
end
In your call function for plot,
if handles.countplot == 0
% plot what you want.
elseif handles.countplot ==1
% plot what you want.
yyaxis left
elseif handles.countplot ==2
% plot what you wat.
yyaxis right
elseif handles.countplot >2
%remind or do some action to restrict user to plot more than 3 graph
end

Categories

Find more on Specifying Target for Graphics Output in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!