I've got matplotlib installed and try to create a histogram plot from some data:
#!/usr/bin/python
l = []
with open("testdata") as f:
    line = f.next()
    f.next()  # skip headers
    nat = int(line.split()[0])
    print nat
    for line in f:
        if line.strip():
          if line.strip():
            l.append(map(float,line.split()[1:]))
    b = 0
    a = 1
for b in range(53):
    for a in range(b+1, 54):
        import operator
        import matplotlib.pyplot as plt
        import numpy as np
        vector1 = (l[b][0], l[b][1], l[b][2])
        vector2 = (l[a][0], l[a][1], l[a][2])
        x = vector1
        y = vector2
        vector3 = list(np.array(x) - np.array(y))
        dotProduct = reduce( operator.add, map( operator.mul, vector3, vector3))
    
        dp = dotProduct**.5
        print dp
    
        data = dp
        num_bins = 200  # <- number of bins for the histogram
        plt.hist(data, num_bins)
        plt.show()
I'm getting an error from the last part of the code:
/usr/lib64/python2.6/site-packages/matplotlib/backends/backend_gtk.py:621:     DeprecationWarning: Use the new widget gtk.Tooltip
  self.tooltips = gtk.Tooltips()
Traceback (most recent call last):
  File "vector_final", line 42, in <module>
plt.hist(data, num_bins)
  File "/usr/lib64/python2.6/site-packages/matplotlib/pyplot.py", line 2008, in hist
ret = ax.hist(x, bins, range, normed, weights, cumulative, bottom, histtype, align, orientation, rwidth, log, **kwargs)
  File "/usr/lib64/python2.6/site-packages/matplotlib/axes.py", line 7098, in hist
w = [None]*len(x)
TypeError: len() of unsized object
But anyway, do you have any idea how to make 200 evenly spaced out bins, and have your program store the data in the appropriate bins?
 
     
    


 
    