How can I add labels to my scatter plot?

303 visualizzazioni (ultimi 30 giorni)
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);

Risposta accettata

Star Strider
Star Strider il 14 Gen 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 Commenti
Anne Bremer
Anne Bremer il 14 Gen 2023
Spostato: Star Strider il 14 Gen 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 il 14 Gen 2023
My pleasure!
If my Answer helped you solve your problem, please Accept it!
.

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by