How do I plot data labels alongside my data in a scatter plot?
Afficher commentaires plus anciens
I am trying to plot data labels alongside my data in a scatter plot. The goal is to plot several different relationships in the same figure and to include the labels for each of the points.
For example if I have data vectors: [X] and [Y]
and textdata {Xname} to indicate the id corresponding to each (x)
How do I run scatter(X,Y) so that it will also display the string ids [Xname] alongside each data point?
Réponses (2)
Oleg Komarov
le 25 Jan 2011
5 votes
To make it clear with a full example:
% Example input
X = rand(10,1);
Y = rand(10,1);
% example labels
textCell = arrayfun(@(x,y) sprintf('(%3.2f, %3.2f)',x,y),X,Y,'un',0);
% Plot scatter
scatter(X,Y,'filled')
% Add textCell
for ii = 1:numel(X)
text(X(ii)+.02, Y(ii)+.02,textCell{ii},'FontSize',8)
end

Oleg
1 commentaire
Atanu
le 15 Mar 2022
This is great!
the cyclist
le 25 Jan 2011
I don't know if you can do it within the plotting command, but one way to do this is, after creating the plot, run a loop like
for ii=1:N
text(x(ii),y(ii),textCell{ii})
end
(That code is not exactly right syntactically, but looping with the text command should get you what you want.)
Catégories
En savoir plus sur Annotations dans Centre d'aide et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!