How can I tag or label each plotted data point with its sequence number?

I would like to tag or label each plotted data point, in each line, with its sequence number.

 Accepted Answer

The following code illustrates how this might be done:
% Create random data
m1 = rand(10,2);
m2 = rand(10,2);
% Calculate label displacement
lbl_dwn = .03*max([m1(:,2) m2(:,2)]);
% Plot data
f = figure;
hold on
plot(m1(:,1), m1(:,2), 'b.-')
plot(m2(:,1), m2(:,2), 'g.-')
% Create an array of sequence numbers (you can use other tags)
s = size(m1);
sequence = 1:s(1);
sequence = num2cell(sequence);
data_labels = cellfun(@num2str, sequence, 'UniformOutput', false);
% Display text
text(m1(:,1), m1(:,2)+lbl_dwn(1), data_labels,...
'Color', 'b',...
'HorizontalAlignment', 'Left')
text(m2(:,1), m2(:,2)+lbl_dwn(2), data_labels,...
'Color', 'g',...
'HorizontalAlignment', 'Left')

More Answers (0)

Products

Release

R2006b

Community Treasure Hunt

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

Start Hunting!