hi all, please disregard the previous email - i had a mistake in my file that did not do the casting properly when loading the data.
i managed to plot my data, but this time i am having a problem with the 'bar' function. when i plot using: x = data[:, 0] y = data[:, 1] bar(x,y) i get the attached figure. the bar graphs are way too thin and don't look like bar graphs at all. i see in the gallery many examples of bars with greater width, e.g. http://matplotlib.sourceforge.net/examples/api/histogram_demo.html but all of these seem to be made using the 'hist' function. i just want the bar width to be greater. my setting of the width= does not make a difference, it treats: bar(x,y,width=1.5) bar(x,y,width=10) etc. as the same, yielding this line plot. if i remove some data points (and plot x and y's that are only, say, 3 in length) then the bars look normal. how can i make the bar widths greater in this case? On Sun, Mar 1, 2009 at 11:41 AM, per freem <perfr...@gmail.com> wrote: > hi all, > > i am reading a set of tab-separated data from a file and i want to put it > into an array, and then plot some of the columns. i know the number of > columns ahead of time but not the number of rows. i load the array from the > file as follows, which seems to work: > > data = [] > for line in myfile: > field1, field2, field3 = line.strip().split('\t') > data.append([int(field1), int(field2), int(field3)]) > > i then convert it into an array as follows: > > data = array(data) > > i am able to reference the first column as follows: > > data[:,0] > > but if i try to plot the first column against the second as follows: > > bar(data[:,0],data[:,1]) > > then i get the error: > > /usr/lib64/python2.5/site-packages/matplotlib/units.pyc in > get_converter(self, x) > 128 converter = self.get(classx) > 129 > --> 130 if converter is None and iterable(x): > 131 # if this is anything but an object array, we'll assume > 132 # there are no custom units > > [repeated many times] > > RuntimeError: maximum recursion depth exceeded > WARNING: Failure executing file: <myfile.py> > > how can i fix this? i'd like an n-by-m representation of my data as an > array which i can reference like a matrix in matlab. some of the columns are > floats, other are ints, and others are strings, so i prefer to load the data > into an array as a loop where i can cast the strings appropriately, rather > than use some built in io function for reading tab-separated data. > > thank you very much. >
<<attachment: image.png>>
------------------------------------------------------------------------------ Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA -OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise -Strategies to boost innovation and cut costs with open source participation -Receive a $600 discount off the registration fee with the source code: SFAD http://p.sf.net/sfu/XcvMzF8H
_______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users