title: Using python and networkx to find the probability density function
body: <p>I'm struggling to draw a power law graph for Facebook Data that I found online. I'm using Networkx and I've found how to draw a <a href="https://i.stack.imgur.com/KNgPs.png" rel="nofollow noreferrer">Degree Histogram</a> and a degree rank. The problem that I'm having is I want the y axis to be a probability so I'm assuming I need to sum up each y value and divide by the total number of nodes? Can anyone please help me do this? Once I've got this I'd like to draw a log-log graph to see if I can obtain a straight line. I'd really appreciate it if anyone could help! Here's my code:</p>
  
  <pre><code>import collections 
  import networkx as nx
  import matplotlib.pyplot as plt
  from networkx.algorithms import community
  import math
  import pylab as plt
  
  g = nx.read_edgelist("/Users/Michael/Desktop/anaconda3/facebook_combined.txt","r")
  nx.info(g)
  
  degree_sequence = sorted([d for n, d in g.degree()], reverse=True)
  degreeCount = collections.Counter(degree_sequence)
  deg, cnt = zip(*degreeCount.items())
  fig, ax = plt.subplots()
  plt.bar(deg, cnt, width=0.80, color='b')
  plt.title("Degree Histogram for Facebook Data")
  plt.ylabel("Count")
  plt.xlabel("Degree")
  ax.set_xticks([d + 0.4 for d in deg])
  ax.set_xticklabels(deg)
  plt.show()
  
  plt.loglog(degree_sequence, 'b-', marker='o')
  plt.title("Degree rank plot")
  plt.ylabel("Degree")
  plt.xlabel("Rank")
  plt.show()
  </code></pre>