title: Add padding between bars and Y-Axis
body: <p>I am building a bar chart using matplotlib using the code below. When my first or last column of data is 0, my first column is wedged against the Y-axis. </p>
  
  <p>An example of this. Note that the first column is ON the x=0 point. </p>
  
  <p><img src="https://i.stack.imgur.com/opaYA.png" alt="Zero first column"></p>
  
  <p>If I have data in this column, I get a huge padding between the Y-Axis and the first column as seen here. Note the additional bar, now at X=0. This effect is repeated if I have data in my last column as well.
  <img src="https://i.stack.imgur.com/mrbYY.png" alt="Non-zero first column"></p>
  
  <p>My code is as follows:</p>
  
  <pre><code>import matplotlib.pyplot as plt
  import numpy as np
  from matplotlib.ticker import MultipleLocator
  
  binVals = [0,5531608,6475325,1311915,223000,609638,291151,449434,1398731,2516755,3035532,2976924,2695079,1822865,1347155,304911,3562,157,5,0,0,0,0,0,0,0,0]
  binTot = sum(binVals)
  binNorm = []
  
  for v in range(len(binVals)):
      binNorm.append(float(binVals[v])/binTot)
  
  fig = plt.figure(figsize=(6,4))
  ax1 = fig.add_subplot(1,1,1)
  ax1.bar(range(len(binNorm)),binNorm,align='center', label='Values')
  plt.legend(loc=1)
  plt.title("Demo Histogram")
  plt.xlabel("Value")
  plt.xticks(range(len(binLabels)),binLabels,rotation='vertical')
  plt.grid(b=True, which='major', color='grey', linestyle='--', alpha=0.35)
  ax1.xaxis.grid(False)
  plt.ylabel("% of Count")
  plt.subplots_adjust(bottom=0.15)
  plt.tight_layout()
  plt.show()
  </code></pre>
  
  <p>How can I set a constant margin between the Y-axis and my first/last bar? </p>
  
  <p>Additionally, I realize it's labeled "Demo Histogram", that is a because I missed it when correcting problems discussed <a href="https://stackoverflow.com/questions/15413397/graph-matplotlib-to-show-total-count-in-the-histogram-bins">here</a>.</p>