Label a plot as contour function does

17 Ansichten (letzte 30 Tage)
Filippo Manoli
Filippo Manoli am 11 Nov. 2022
Kommentiert: Voss am 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?

Akzeptierte Antwort

Voss
Voss am 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 Kommentare
Filippo Manoli
Filippo Manoli am 11 Nov. 2022
Thank you, that's exactly what I needed! :)
Voss
Voss am 11 Nov. 2022
You're welcome!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Produkte


Version

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by