'How to plot skew network data?

Using plot.igraph(), I have created a network graph using the following code:

V(g)$color <- "orange"
V(g)[name %in% data.set[[1]] ]$color <- "lightblue"

plot.igraph(
  g, 
  vertex.size = degree(g),
  edge.arrow.size=0.001, 
  vertex.label=NA, 
  edges = NA
)

My question is two-fold.

Question 1: The degree of some nodes is much larger than the degree of other nodes, some have a degree of >1000, others have a degree of 0-5. The data is thus very skew, making the plot look like this:

enter image description here

Is there any way I can change this to look more like a regular network graph? If I just have all the nodes take the same size my data would look like this:

enter image description here

Part 2 of my question: As you can see, there are some nodes that are blue. Is there any possibility to stack these blue ones on top of the other ones so they are visible more?

I hope my question makes sense, if you need more information let me know! Thanks in advance :)



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source