in plotting,instead of 'ro' its needed to show numbers

In plotting,instead of 'ro' its needed to show numbers
for example:
plot([0:20],[0:20],'ro')
its needed shows numbers from 1 up 20 instead of 'ro'
and please also refer DOC of this, I can't find it

 Accepted Answer

The "o" in "ro" is not really a letter or a number. You best bet might be to use a loop and the text command ...
figure;
hold on;
axis([0, 20, 0, 20]);
for x = 0:20
h = text(x, x, num2str(x));
set(h, 'HorizontalAlignment', 'Center', 'VerticalAlignment', 'Middle');
end

5 Comments

Daniel thanks
in fact i need this for determine peaks numbers of a signal
now i have this:
figure;
plot(1:le,r,peakinds,peakmags,'ro'),ylim([0 300])
that 'r' is a matrix(10000*1)
what must be imported instead of 'ro' for showing numbers in above plotting?
I am assuming that r is Iex1 ...
Replace plot( ... ) with
for x = 1:Ie
h = text(x, r(x), num2str(x));
set(h, 'HorizontalAlignment', 'Center', 'VerticalAlignment', 'Middle');
end
xlim([1, Ie]);
No Daniel, this shows number on all all of the signals but i need showing numbers only on peak that peaks-index and peaks-values are specified in 'r' matrix that in this plot(1:le,r,peakinds,peakmags,'ro'),ylim([0 300])
red small circles are on peaks only and i need numbers also being on peaks
Sorry, I missed that bit. After your code, you should be able to do:
for ipeak = 1:length(peakinds)
h = text(peakinds(ipeak), peakmags(ipeak), num2str(ipeak));
set(h, 'HorizontalAlignment', 'Center', 'VerticalAlignment', 'Middle');
end
figure(1);
plot(1:len0,x0,peakInds,peakInds,'ro'),ylim([0 300]),xlim([2000 8500])
hold on
peakInds=peakInds(2:end);
peakMags=peakMags(2:end);
for ipeak = 1:length(peakInds)
h = text(peakInds(ipeak)+15, peakMags(ipeak), num2str(ipeak),'Color','r');
set(h, 'HorizontalAlignment', 'Center', 'VerticalAlignment', 'Middle');
end
ylim([0 400]),xlim([1000 8500])
hold off

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!