Plotted a graph, want to specify label position relative to node

1 Ansicht (letzte 30 Tage)
FM
FM am 7 Jun. 2021
Kommentiert: FM am 8 Jun. 2021
I plotted a graph, but the node labels sometimes collide:
A=ceil(10*rand(30));
A=triu(A,1)+triu(A,1)';
NodeLabels = arrayfun( @(x)sprintf('x%010u',x) , 1:30 , ...
'Uniform',false);
GportDist = graph( A , NodeLabels );
ax=plot( GportDist, 'Layout','force' , ...
'WeightEffect','direct' , 'Interpreter','none');
I haven't found a way to specify the label position relative to the node, e.g., North, NorthEast, South, etc.
Is there a way to specify label positions relative to nodes?
I am using Matlab 2019a.
  2 Kommentare
dpb
dpb am 8 Jun. 2021
You can try varying the 'HorizontalAlignment', 'VerticalAlignment' and perhaps the 'Rotation' properties...
FM
FM am 8 Jun. 2021
Hi, dpb....how does one access those properties? They don't show from issuing "ax". Issuing "ax" at the commad line shows the axis properties and there is an option to "Show all properties", but those properties don't appear in the resulting bigger list.
In the figure itself, I also clicked the button for "Open Property Inspector", but the only labels properties pertain to tick labels. This is also the only context for labels that I can find from an internet search.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Chunru
Chunru am 8 Jun. 2021
One workaround is to delete the NodeLabel and use text (and then you can control the position):
ax.NodeLabel={};
htext = text(ax.XData, ax.YData, NodeLabels, 'HorizontalAlignment', 'center');
  1 Kommentar
FM
FM am 8 Jun. 2021
Thanks, Chunru. That works perfectly. Each text object in the htext array has it's own set of properties, including 'VerticalAlignment'. I found the following two pages educational:
  1. https://www.mathworks.com/help/matlab/ref/text.html
  2. https://www.mathworks.com/help/matlab/ref/matlab.graphics.primitive.text-properties.html

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Graph and Network Algorithms finden Sie in Help Center und File Exchange

Produkte


Version

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by