Hi
I have a code to plot a histogram and I am trying to add a best fit line
following this example
http://matplotlib.sourceforge.net/examples/pylab_examples/histogram_demo.html
but run into this error
Traceback (most recent call last):
File "/home/Astro/count_Histogram.py", line 54, in <module>
l = plt.plot(bins, y, 'r--', linewidth=1)
File "/usr/lib/pymodules/python2.7/matplotlib/pyplot.py", line 2467, in
plot
ret = ax.plot(*args, **kwargs)
File "/usr/lib/pymodules/python2.7/matplotlib/axes.py", line 3893, in plot
for line in self._get_lines(*args, **kwargs):
File "/usr/lib/pymodules/python2.7/matplotlib/axes.py", line 322, in
_grab_next_args
for seg in self._plot_args(remaining, kwargs):
File "/usr/lib/pymodules/python2.7/matplotlib/axes.py", line 300, in
_plot_args
x, y = self._xy_from_xy(x, y)
File "/usr/lib/pymodules/python2.7/matplotlib/axes.py", line 240, in
_xy_from_xy
raise ValueError("x and y must have same first dimension")
ValueError: x and y must have same first dimension
My Code
import matplotlib.pyplot as plt
import math
import numpy as np
import mpl_toolkits.mplot3d.axes3d
import matplotlib.mlab as mlab
counts = []
F = '/home/Astro/outfiles/outmag21_5dr_38_68.txt'
f = open(F)
for line in f:
if line != ' ':
columns = line.split()
count = columns[3]
count = int(count)
counts.append(count)
C = np.array(counts, dtype=float)
avg = sum(C)/len(C)
diff = C-avg
sigma = np.sqrt((1./len(C))*(diff**2))
bins = 20
plt.hist(C, bins, range=None, normed=False, weights=None, cumulative=False,
bottom=None, histtype='bar', align='mid', orientation='vertical',
rwidth=None, log = False, color=None, label=None)
plt.title("")
plt.text(25,20,'M < -21.5' '\n' 'N Halos 3877' '\n' 'Length Cell 38.68Mpc'
'\n' 'N Cells 269' '\n' 'Avg Halo per Cell 14.35 ')
plt.xlabel("Halos/Cell")
plt.ylabel("Number Cells with N Halos")
y = mlab.normpdf( bins, avg, sigma)
print(len(y))
l = plt.plot(bins, y, 'r--', linewidth=1)
plt.show()
My first question is do x and y refer to the values in l = plt.plot(bins,
y, 'r--', linewidth=1) which for my case are bins and y?
if that is the case how can I get then to be the same first dimension?
···
--
View this message in context: http://old.nabble.com/ValueError%3A-x-and-y-must-have-same-first-dimension-tp34218704p34218704.html
Sent from the matplotlib - users mailing list archive at Nabble.com.