title: Matplotlib table: individual column width
body: <p>Is there a way to specify the width of individual columns in a matplotlib table?</p>
  
  <p>The first column in my table contains just 2-3 digit IDs, and I'd like this column to be smaller than the others, but I can't seem to get it to work.</p>
  
  <p>Let's say I have a table like this:</p>
  
  <pre><code>import matplotlib.pyplot as plt
  
  fig = plt.figure()
  table_ax = fig.add_subplot(1,1,1)
  
  table_content = [["1", "Daisy", "ill"],
                   ["2", "Topsy", "healthy"]]
  table_header = ('ID', 'Name','Status')
  
  the_table = table_ax.table(cellText=table_content, loc='center', colLabels=table_header, cellLoc='left')
  
  fig.show()
  </code></pre>
  
  <p>(Never mind the weird cropping, it doesn't happen in my real table.)</p>
  
  <p>What I've tried is this:</p>
  
  <pre><code>prop = the_table.properties()
  cells = prop['child_artists']
  
  for cell in cells:
      text = cell.get_text()
      if text == "ID":
          cell.set_width(0.1)
      else:
          try:
              int(text)
              cell.set_width(0.1)
          except TypeError:
              pass
  </code></pre>
  
  <p>The above code seems to have zero effect - the columns are still all equally wide. (<code>cell.get_width()</code> returns <code>0.3333333333</code>, so I would think that <code>width</code> is indeed cell-width... so what am I doing wrong? </p>
  
  <p>Any help would be appreciated!</p>