add a number to the legend
조회 수: 13 (최근 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!