title: AssertionError: incompatible sizes: argument 'height' must be length 2 or scalar (Matplotlib, Python 2.7, drawing charts)
body: <p>A new day brought new problem with Python, unfortunately :/ </p>
  
  <p>I have a file generated by my other app written in Java. This app generates files with some data, it's kind a random stuff 'cause I'm not able to say how many rows each file would have. Example file looks like this:</p>
  
  <pre><code>3   Sat Jan 21 00:00:00 2012
  7   Sun Mar 11 00:00:00 2012
  5   Fri Jan  1 00:00:00 2010
  4   Sat Feb  5 00:00:00 2011
  8   Sun Apr 11 00:00:00 2010
  4   Wed Aug 24 00:00:00 2011
  8   Sat Feb 20 00:00:00 2010
  3   Thu Oct 13 00:00:00 2011
  9   Fri Dec 17 00:00:00 2010
  4   Tue Jul 20 00:00:00 2010
  8   Fri Dec  2 00:00:00 2011
  6   Mon May 31 00:00:00 2010
  5   Mon May 16 00:00:00 2011
  8   Mon Apr 30 00:00:00 2012
  3   Thu Oct 28 00:00:00 2010
  1   Tue Jun 19 00:00:00 2012
  7   Wed Sep  8 00:00:00 2010
  </code></pre>
  
  <p>And I want to draw a chart with use of this data. On X axis I would like to have formatted dates, and on Y axis numbers from the first column of my file. Heres my lovely python code:</p>
  
  <pre><code># -*- coding: utf-8 -*-
  #!/usr/bin/env python
  import wx
  import matplotlib
  matplotlib.use("TkAgg")
  import matplotlib.pyplot as pl
  import datetime
  
  def monthNum(month) :
          if month == "Jan" :
              return 1
          elif month == "Feb" :
              return 2
          elif month == "Mar" :
              return 3
          elif month == "Apr" :
              return 4
          elif month == "May" :
              return 5
          elif month == "Jun" :
              return 6
          elif month == "Jul" :
              return 7
          elif month == "Aug" :
              return 8
          elif month == "Sep" :
              return 9
          elif month == "Oct" :
              return 10
          elif month == "Nov" :
              return 11
          elif month == "Dec" :
              return 12
  
  def convertDate(dateTime) :
          line = dateTime.split(' ')
          date = (str(line[2]) + "-" + str(monthNum(line[1])) + "-" + str(line[4]))
          return date
  
  def readFile(filename) :
          values = []
          dates = []
          try :
                  with open(filename, "r") as openedFile:
                          for line in openedFile :
                                  line = line.strip()
                                  data = line.split("\t")
                                  values.append(int(data[0]))
                                  newDate = convertDate(data[1])
                                  dates.append(datetime.datetime.strptime(newDate, "%d-%m-%Y").date())
          except IOError :
                  print("IOERROR")
          except ValueError :
                  print("VALUE ERROR")
          if len(values) != 0 and len(dates) != 0 :
                  drawChart(values, dates, filename)
  
  def drawChart(values, dates, filename):
          fig = pl.figure(dpi=60,figsize=(18, 10))
          ax = fig.add_subplot(1,1,1)
          fig.subplots_adjust(left=0.1, right=0.95, top=0.95, bottom=0.2)
          ax.bar(range(len(dates)), values, facecolor='#777777', align='center', width=0.5, ecolor='black')
          pl.axis('tight')
          ax.set_xticks(range(len(dates)))
          pl.yticks(values)
          ax.set_xticklabels(dates, rotation = 90)
          pl.savefig(filename + ".png")
          pl.show()
          pl.close()
  
  readFile("file.txt")
  </code></pre>
  
  <p>Everything is fine, if <code>file.txt</code> had a one, single row. When it has more rows, python code gives me an error:</p>
  
  <blockquote>
  <pre><code>VALUE ERROR
  Traceback (most recent call last):
    File "test.py", line 71, in &lt;module&gt;
      readFile("file.txt")
    File "test.py", line 56, in readFile
      drawChart(values, dates, filename)
    File "test.py", line 62, in drawChart
      ax.bar(range(len(dates)), values, facecolor='#777777', align='center', width=0.5, ecolor='black')
    File "/usr/lib/pymodules/python2.7/matplotlib/axes.py", line 4733, in bar
      nbars)
  AssertionError: incompatible sizes: argument 'height' must be length 2 or scalar
  </code></pre>
  </blockquote>
  
  <p>And I don't really know how to fix it. Its fine, if <code>file.txt</code> had one row but as I wrote earlier: I'm not able to say how many rows would <code>file.txt</code> have (it depends on my Java app).</p>
  
  <p>Anybody? I use Python 2.7 and Matplotlib on Kubuntu 12.04.</p>