Choice between legends and curves

2 次查看(过去 30 天)
Hi,
I have in one plot more curves.
If I press pushbutton1, then I need to show off legend1 and also curve1. If I press again pushbutton1, then I need to show on legend1 and also curve1.
If I press pushbutton2, then I need to show off legend2 and also curve2.If I press pushbutton2, then I need to show on legend2 and also curve2. . . . Please, can you help me
  2 个评论
john
john 2013-4-11
How can I close axis 1? If I use this code:
for i=1:7
handles.speed(:,i)=(s/t)';
plot(t',handles.speed);
cla(handles.speed(:,1),'reset');
end;
I gor error Bad handle
john
john 2013-4-15
Can anybody help? Please?

请先登录,再进行评论。

采纳的回答

Sean de Wolski
Sean de Wolski 2013-4-15
编辑:Sean de Wolski 2013-4-15
Here is how I would go about this:
function showTwoLines
%two lines and their legend
hFig = figure;
hL(1) = plot(1:10);
hold on
hL(2) = plot(rand(1,10));
legend(hL, 'Line 1','Line 2')
%two pushbuttons. Note the callback passes in the line handles and the line of choice index.
uicontrol('Style','pushbutton',...
'Units','normalized',...
'Position',[0.1 0.05 0.3 0.1],...
'String','One!',...
'Callback',@(~,~)ToggleLines(hL,1));
uicontrol('Style','pushbutton',...
'Units','normalized',...
'Position',[0.4 0.05 0.3 0.1],...
'String','Two!',...
'Callback',@(~,~)ToggleLines(hL,2));
end
function ToggleLines(hL,idx)
set(hL(setdiff(1:numel(hL),idx)),'visible','off'); %turn other lines off
set(hL(idx),'visible','on'); %turn line of choice on
legend(hL(idx),sprintf('Line %i',idx)); %add legend
end
Save the above to showTwoLines.m
  4 个评论

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Legend 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by