Label a plot as contour function does

17 vues (au cours des 30 derniers jours)
Filippo Manoli
Filippo Manoli le 11 Nov 2022
Commenté : Voss le 11 Nov 2022
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?

Réponse acceptée

Voss
Voss le 11 Nov 2022
Sounds like you want to use text:
x = 1:500 ;
y = 150 + 100*sin(x/100) ;
plot(x,y)
text(50*pi,250,'1', ...
'BackgroundColor','w', ...
'HorizontalAlignment','center')
ylim([0 300])
  2 commentaires
Filippo Manoli
Filippo Manoli le 11 Nov 2022
Thank you, that's exactly what I needed! :)
Voss
Voss le 11 Nov 2022
You're welcome!

Connectez-vous pour commenter.

Plus de réponses (0)

Produits


Version

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by