Label a plot as contour function does

1 view (last 30 days)
I want to label a plot using a label located on the drawed line, just as the countour function does.
I found that I can transform my function plot to a matrix (source) that I can give as input to the contour function
cols = 1:500 ;
rows = 150 + 100*sin(cols/100) ;
M = zeros(300,500) ;
idx = sub2ind(size(M), floor(rows), cols) ;
M(idx) = 1 ;
contour(M,'LevelList',1,'ShowText','on') ;
This produce the following figure
But this plot is not visible in all the domain, has two labels (I would like just one) and the label has not a white background (the number 1 intersect the line). How can I obtain a label like the following?

Accepted Answer

Voss on 11 Nov 2022
Sounds like you want to use text:
x = 1:500 ;
y = 150 + 100*sin(x/100) ;
text(50*pi,250,'1', ...
'BackgroundColor','w', ...
ylim([0 300])

More Answers (0)


Find more on Contour Plots in Help Center and File Exchange




Community Treasure Hunt

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

Start Hunting!