Accounting for vertex size when setting the layout

I just started playing around with graphtool. I can create and draw a twitter
graph fairly easily. However, I would like the size of each vertex to be a
function of the vertex's degree. I can map the size of each vertex, but then
when I use the sfdp layout, there is significant overlap. What is the best
way around this?

So it looks like draw_graph cannot avoid overlap. I would have to use
graphviz_draw which has that capability, however when I use graphviz_draw,
depending on the parameters I will often get just a blank canvas unless I
set the vertex size ridiculously small. Seeing as there is no error or
output from this, I have no idea where the problem stems from.

So it looks like draw_graph cannot avoid overlap.

Indeed there is no way to completely avoid node overlaps with
graph_draw().

I would have to use graphviz_draw which has that capability, however
when I use graphviz_draw, depending on the parameters I will often get
just a blank canvas unless I set the vertex size ridiculously
small. Seeing as there is no error or output from this, I have no idea
where the problem stems from.

It is very difficult to know what the problem might be without seeing an
example. Cal you please post a minimal, self-contained program that shows
the undesired behavior?

Best,
Tiago

Here is a quick example. I also just noticed I get a warning if
overlap='prism'. Thanks for the help.

    import graph_tool.all as gt

    #Setup graph
    g = gt.Graph(directed=False)
    center = g.add_vertex()
    for _ in xrange(150):
        v = g.add_vertex()
        g.add_edge(v, center)
    #Set node properties
    vertex_size = g.new_vertex_property('int32_t')
    vertex_size.a = 1
    vertex_size[center] = 10

    # Draw graphs - 5 examples
    # Ex 1 - All nodes size 1 -> works
    gt.graphviz_draw(g, vsize=1, output='ex_size1.pdf', overlap='scale')
    # Ex 2 - All nodes size 4 -> 1 node may be drawn, typically a blank
canvas
    gt.graphviz_draw(g, vsize=4, output='ex_size4.pdf', overlap='scale')
    # Ex 3 - Large center vertex -> works with 'scale'
    gt.graphviz_draw(g, vsize=vertex_size, output='ex_scale.pdf',
overlap='scale')
    # Ex 4 - Large center vertex -> blank canvas with False
    gt.graphviz_draw(g, vsize=vertex_size, output='ex_False.pdf',
overlap='False')
    # Ex 5 - Prism warning -> still draws
    gt.graphviz_draw(g, output='example_prism.pdf', overlap="prism")
    # --> Warning: Overlap value "prism" unsupported - ignored
    # I thought Prism was the default value. Why do I only get this message
    # if I set it explicitly?