graph vertex labels placement or alignment

I made a sage Graph() for visualizing a bibliography and found that there was no good way to align or change the placement of the vertex labels.

I wanted some labels to align left and others to align right, but they were all centred on their vertex. I ended up doubling the length of the label string with spaces and adding a period with some code like the following

    lDict = {}
for v in G.vertices():
if <test for the type of vertex>:
lDict[v] = v + len(v)*' ' + '.'
else:
lDict[v] = ''.join(['.',len(v)*' ',v])
G.relabel(lDict)


I managed to get this (click for full sized image):

Is there a way to manipulate the placement of the labels?

edit retag close merge delete

Sort by » oldest newest most voted

No way that I know. But Sage is an open-source project, so if you have a good idea for that, you are welcome to contribute !

Nathann

more

I believe you'll want to use the optional tikz interface, lovely described (complete with vertex label positioning) at this location.

more

1

The example is pretty. I think I might use the tikz graphs every time!

( 2014-03-31 12:34:51 +0200 )edit

Great! I have to admit tikz is pretty awesome - the learning curve is worth it. If this solved your problem, please accept the answer so other people searching this question will see it was solved.

( 2014-04-01 10:23:37 +0200 )edit

As of now it doesn't work on my installation, but I'll select it when it works for me. Thanks!

( 2014-04-01 11:18:32 +0200 )edit

Stats

Seen: 545 times

Last updated: Mar 31 '14