Applying labels to specific data points
235 views (last 30 days)
Show older comments
I have a scatter plot of x = [0 1 2] and y = [8 7 6] with corresponding labels in N = ['A', 'B', 'C']. I know how to add labels to all the data points using the text() or labelpoints() functions but I was wondering if there was a way to apply labels to certain data points only, e.g. (1,7) and (2,6)?
2 Comments
Greg
on 15 Jan 2018
Share the (relevant) code you currently have so we know what to work with.
Also, what is labelpoints? If you're using non-bundled functions, it helps to say so.
Accepted Answer
Greg
on 15 Jan 2018
If you're already using text, just throw an index into the mix... Assuming you have:
text(x,y,N);
Change it to:
N = ['A';'B';'C']; % If "N" is not cellstr or string datatype, must be column vector
labelinds = [2,3];
text(x(labelinds),y(labelinds),N(labelinds));
2 Comments
Greg
on 16 Jan 2018
Edited: Greg
on 16 Jan 2018
Objects returned by the text function have a 'Color' property. I doubt you can set each one to a unique color in a single call to text, but you can loop through the output afterward.
htext = text(...);
C = [1,0,0; ... red
0,1,0]; % green
for itext = 1:length(labelinds)
htext(itext).Color = C(itext,:);
end
More Answers (0)
See Also
Categories
Find more on Annotations in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!