# Vertex sizes scaled by vertex degree?

Is there any way of scaling the sizes of the vertices of a network proportional to the vertex-degrees of the vertices in Mathematica? Thanks.

SeedRandom[5]
g = RandomGraph[{6, 10}]


vd = Thread[VertexList@g -> Normalize[VertexDegree@g, Total]];
g2 = SetProperty[g, VertexSize -> vd]


• Great! Why are you dividing by 20 here?
– dbm
May 6 '16 at 18:21
• @dbm, dividing by 20 was to scale the vertex sizes. It is removed in the updated post.
– kglr
May 6 '16 at 18:26
• Got it. However, this code doesn't work for say g = RandomGraph[{90, 120}]
– dbm
May 6 '16 at 18:29
• @dbm, maybe you can use Normalize[VertexDegree@g, Max] for large graphs.
– kglr
May 6 '16 at 18:33
• @dbm, it is because when we normalize by Total each vertex degree divided by Total[VertexDegree@g] (240) gives a very small vertex size. If we normalize by Max each vertex degree is divided by 7 (maximum of the vertex degrees). Alternatively, instead of Normalize[...], you can use Rescale[VertexDegree@g, Through[{Min, Max}[VertexDegree@g]], {a, b}] with your choice of a and b.
– kglr
May 6 '16 at 18:44