How can I add labels to my scatter plot?

290 views (last 30 days)
Hello Matlab experts,
I have problems adding data labels to each data point in my scatter plot. The labels I want to attach are in the first column in my Excelsheet. I would highly appreciate it if someone could help me. I am attaching the code below as well as my data file.
%load the data
t = readtable("dataset.xlsx");
x= t.Exp;
y= t.Sim;
sz=70;
s=scatter(x,y,sz,"filled")
hold on
a = [t.Name]'; b = num2str(a); c = cellstr(b);
dx = 0.1; dy = 0.1;
text(x+dx, y+dy, c, 'Fontsize', 10);

Accepted Answer

Star Strider
Star Strider on 14 Jan 2023
Try something like this —
t = readtable('https://www.mathworks.com/matlabcentral/answers/uploaded_files/1263190/dataset.xlsx')
t = 28×3 table
Name Sim Exp ____________ ________ __________ {'Proline' } 0.099683 3.379e-05 {'Arginine'} 0.10872 2.07e-05 {'F108A' } 0.22086 4.6726e-05 {'k0.08' } 0.14222 9.7633e-06 {'F124I' } 0.22086 3.5524e-05 {'L113A' } 0.099683 2.9138e-05 {'WT' } 0.14222 2.6192e-05 {'Aro3+' } 0.063385 1.1637e-05 {'WW' } 0.057063 1.1489e-05 {'Aro2+' } 0.073912 1.5793e-05 {'L123A' } 0.14222 3.7604e-05 {'9acidA' } 0.029263 5.0071e-06 {'k0.19' } 0.14222 2.5374e-05 {'W120A' } 0.22086 5.0562e-05 {'k0.47' } 0.14222 1.4083e-05 {'K+' } 0.025349 5.6813e-05
x= t.Exp;
y= t.Sim;
sz=70;
s=scatter(x,y,sz,"filled");
xlabel('Exp')
ylabel('Sim')
text(x, y, t.Name, 'Vert','bottom', 'Horiz','left', 'FontSize',7)
set(gca, 'XScale','log', 'YScale','log')
I set the axis sclaes to 'log' to increase the separation between the points, and reduced the font size. I thought about rotating the labels, however I doubt that there is any way to avoid some of them overwriting the others.
.
  6 Comments
Anne Bremer
Anne Bremer on 14 Jan 2023
Moved: Star Strider on 14 Jan 2023
Thank you so much Star Strider for the help! That did the trick.
I highly appreciate your help. Enjoy the rest of your weekend!
Star Strider
Star Strider on 14 Jan 2023
My pleasure!
If my Answer helped you solve your problem, please Accept it!
.

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!