gname for labelling lines in a plot
조회 수: 2 (최근 30일)
이전 댓글 표시
I want to use gname() to identify the lines of a plot with multiple lines.
I am trying to do it like this:
timeseries = rand(100,3); plot(timeseries); gname({'a','b','c'});
which doesn't work.
If I invert the matrix I can use gname() for labelling, however the plot is obscured:
timeseries = rand(100,3); plot(timeseries'); gname({'a','b','c'})
Would be nice if that could work somehow, I would like to plot hundreds of timeseries in one plot, but the colour labelling doesnt really help to identify them.
댓글 수: 0
채택된 답변
Kelly Kearney
2015년 9월 23일
Maybe setting the ButtonDownFcn of each line to display the name somewhere would work? In this example, I change the axis title:
hax = axes;
changetext = @(str) title(hax, str);
hln = plot(1:3, rand(3,100));
for ii = 1:100
hln(ii).ButtonDownFcn = @(~,~) changetext(num2str(ii));
end
댓글 수: 3
Kelly Kearney
2015년 9월 24일
For that version, replace
hln(ii).ButtonDownFcn = @(~,~) changetext(num2str(ii));
with
set(hln(ii), 'ButtonDownFcn', @(~,~) changetext(num2str(ii)));
추가 답변 (1개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Annotations에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!