Add text to data points in a circle plot

16 views (last 30 days)
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 Comments
Rik
Rik on 4 May 2020
You can generally use the text function to insert texts to your plot.
Juan David Mateus
Juan David Mateus on 4 May 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!

Sign in to comment.

Accepted Answer

Ameer Hamza
Ameer Hamza on 4 May 2020
Edited: Ameer Hamza on 4 May 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 = []

More Answers (0)

Community Treasure Hunt

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

Start Hunting!