Just tried it with nbins set to 216 and I still get the error





surfcast23 wrote:
> 
> Hi David,
>  
>    I tried your fix
> nbins = 20
> n, bins, patches = plt.hist(C, nbins, 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( nbins, avg, sigma)
> l = plt.plot(nbins, y, 'r--', linewidth=1)
> plt.show()
> 
> 
> But I am still getting the error. I printed y.shape which gave (216,) so
> does that mean that bins also needs to have 216 as a first dimension?
> Thank you
> 
> Khary
> 
> 
> Daπid wrote:
>> 
>> In the example you provide, bins is returned by the hist command,
>> whereas in your code, bins is a number that you defined as 20. So,
>> change:
>> 
>> bins = 20
>> plt.hist(C, bins, ...
>> 
>> by:
>> 
>> nbins = 20
>> n, bins, patches = plt.hist(C, nbins, ...
>> 
>> 
>> As a side comment, your data loading is too complex, and fail prone. I
>> suggest you to have a look at the numpy function for that, loadfromtxt
>> or (I like it more), genfromtxt. It would be something like:
>> 
>> data=np.genfromtxt(F, delimiter=' ')
>> C=data[:,3]
>> 
>> Much easier, and way faster.
>> 
>> 
>> Regards,
>> 
>> David.
>> 
>> On Fri, Jul 27, 2012 at 4:13 AM, surfcast23 <surfcas...@gmail.com> wrote:
>>>
>>> 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.
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> Live Security Virtual Conference
>>> Exclusive live event will cover all the ways today's security and
>>> threat landscape has changed and how IT managers can respond.
>>> Discussions
>>> will include endpoint security, mobile security and the latest in
>>> malware
>>> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
>>> _______________________________________________
>>> Matplotlib-users mailing list
>>> Matplotlib-users@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>> 
>> ------------------------------------------------------------------------------
>> Live Security Virtual Conference
>> Exclusive live event will cover all the ways today's security and 
>> threat landscape has changed and how IT managers can respond. Discussions 
>> will include endpoint security, mobile security and the latest in malware 
>> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
>> _______________________________________________
>> Matplotlib-users mailing list
>> Matplotlib-users@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>> 
>> 
> 
> 

-- 
View this message in context: 
http://old.nabble.com/ValueError%3A-x-and-y-must-have-same-first-dimension-tp34218704p34222567.html
Sent from the matplotlib - users mailing list archive at Nabble.com.


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to