Add text to data points in a circle plot

6 vues (au cours des 30 derniers jours)
Juan David Mateus
Juan David Mateus le 4 Mai 2020
Hello,
I have a 26x26 matrix called mdist of distances of 26 banks with themselves which i plot like this:
figure;
x=graph(mdist);
plot(x,'layout','circle');
The thing is that i need to put the names of each bank in the data points so it looks like the following(mine does not have those names)
  2 commentaires
Rik
Rik le 4 Mai 2020
You can generally use the text function to insert texts to your plot.
Juan David Mateus
Juan David Mateus le 4 Mai 2020
yeah, but i have no idea how to use it in this case, if it was a scatter plot with 2 axis i would just put the values in the x,y of the text function, but in this case as i have a distances matrix, i do not know how to asign each dot its respective name, Thanks!

Connectez-vous pour commenter.

Réponse acceptée

Ameer Hamza
Ameer Hamza le 4 Mai 2020
Modifié(e) : Ameer Hamza le 4 Mai 2020
If you get the handle of GraphPlot
p = plot(G,'layout','circle');
Then you can get the x and y location of each node using
X = p.XData
Y = p.YData
However, If you want to add text at an arbitrary point, then you can make the xtick values visible and then use text() to add the text at the location you want
figure;
ax = axes();
A = randi([1 10], 50);
G = graph(A,'upper');
p = plot(G,'layout','circle');
ax.XAxis.TickValuesMode = 'auto';
ax.YAxis.TickValuesMode = 'auto';
text(0, 0.5, 'myText', 'FontSize', 14, 'Color', 'r')
And then you can again make them invisible using
ax.XAxis.TickValues = []
ax.YAxis.TickValues = []
  2 commentaires
madhan ravi
madhan ravi le 4 Mai 2020
Clever interpretation!
Juan David Mateus
Juan David Mateus le 4 Mai 2020
Thank you very much!

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by