How do I plot data labels alongside my data in a scatter plot?
Mostrar comentarios más antiguos
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?
Respuestas (2)
Oleg Komarov
el 25 de En. de 2011
5 votos
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 comentario
Atanu
el 15 de Mzo. de 2022
This is great!
the cyclist
el 25 de En. de 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.)
Categorías
Más información sobre Discrete Data Plots en Centro de ayuda y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!