add a number to the legend
10 次查看(过去 30 天)
显示 更早的评论
Hi,
I want to add a legend to the plot so that each time the button in GUI is pressed the legend will show a string with corresponding number.
I want to work it like this:
First plot: Sandwich panel(1), second plot: Sandwich panel(2), etc...
My current code:
semilogx(f,TL,'DisplayName','Sandwich panel');
grid on
ylabel('Transmission Loss [dB]');
xlabel ('Frequency')
xlim([80 10000])
title('Transmission Loss')
legend('-DynamicLegend','location','best')
hold all
Thanks,
Dominika
0 个评论
回答(2 个)
Sara
2014-5-20
legend(['Sandwich panel(',num2str(put_number_here),')'])
or you could use sprintf.
2 个评论
Sara
2014-5-20
Dominika, do you mean you need a way to count how many times the button has been pressed? In that case, you'll have to create a variable that is incremented any time you press the button, set it to zero in the opening_funct of the gui, and increment it in the pushbutton callback. Make sure to have:
guidata(hObject, handles);
at the end of the callback. Does this help?
David Sanchez
2014-5-20
Continuing with Sara's comment:
In your callback function,
N_pushes = N_pushes + 1;
my_str = sprintf('Sandwich panel %g',N_pushes);
legend(my_str);
5 个评论
Sara
2014-5-21
Do you have the instruction
guidata(hObject, handles);
at the end of EACH callback, including the opening function? Otherwise the variables you add to handles are not saved.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Legend 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!