Labelling plot lines akin to contour labels

10 Ansichten (letzte 30 Tage)
Steven White
Steven White am 17 Aug. 2011
Kommentiert: Sandeep K am 22 Feb. 2018
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.

Akzeptierte Antwort

Fangjun Jiang
Fangjun Jiang am 17 Aug. 2011
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 Kommentare
Steven White
Steven White am 19 Aug. 2011
Thanks very much. This is more or less what I am after. I can play with the text properties to change colours etc.
Many thanks,
Steven.
Sandeep K
Sandeep K am 22 Feb. 2018
Hello,
Is there any other way of doing this plotting using R2017?
Thank you
Sandeep

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Contour Plots finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by