Labelling plot lines akin to contour labels
조회 수: 12 (최근 30일)
이전 댓글 표시
Dear Matlab Community,
I would like to annotate a simple 2D plot line in a similar way to how contour levels are labelled in contour. That is, the line appears broken with some label text centred on the line. The idea here is that one could label multiple plots neatly, without the use of a legend.
Does anybody know a way to do this? Obviously, one could use annotation, but setting this up in a generic way could prove to be difficult (at least for me).
Cheers, Steven.
댓글 수: 0
채택된 답변
Fangjun Jiang
2011년 8월 17일
I don't know any way directly. All I can suggest is to look at contour.m to see if you can make you own. Share with us if you do find a way.
Find this interesting note in contour.m. Might it give you some leads? The function is in clabel.m
% Thanks to R. Pawlowicz (IOS) rich@ios.bc.ca for 'contours.m' and
% 'clabel.m/inline_labels' so that contour now works with parametric
% surfaces and inline contour labels.
t=0:0.1:7;
y=sin(t);
z=cos(t);
plot(t,t,'r',t,y,'g',t,z,'b',t,y+z,'k');
Strings={'line','sin','cos','sin+cos'};
LabelLine(gca,Strings);
function LabelLine(h_axes,LabelStrings)
h_line=findobj(h_axes,'type','line');
n=length(h_line);
for k=1:n;
XData=get(h_line(k),'XData');
YData=get(h_line(k),'YData');
Ind=round(length(XData)/2);
text(XData(Ind),YData(Ind),LabelStrings{n-k+1});
end
댓글 수: 4
Sandeep K
2018년 2월 22일
Hello,
Is there any other way of doing this plotting using R2017?
Thank you
Sandeep
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Contour Plots에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!