title: stacked bar plot using matplotlib
body: <p>I am generating bar plots using matplotlib and it looks like there is a bug with the stacked bar plot. The sum for each vertical stack should be 100. However, for X-AXIS ticks 65, 70, 75 and 80 we get completely arbitrary results which do not make any sense. I do not understand what the problem is. Please find the MWE below.</p>
  
  <pre><code>import numpy as np
  import matplotlib.pyplot as plt
  import matplotlib
  header = ['a','b','c','d']
  dataset= [('60.0', '65.0', '70.0', '75.0', '80.0', '85.0', '90.0', '95.0', '100.0', '105.0', '110.0', '115.0', '120.0', '125.0', '130.0', '135.0', '140.0', '145.0', '150.0', '155.0', '160.0', '165.0', '170.0', '175.0', '180.0', '185.0', '190.0', '195.0', '200.0'), (0.0, 25.0, 48.93617021276596, 83.01886792452831, 66.66666666666666, 66.66666666666666, 70.96774193548387, 84.61538461538461, 93.33333333333333, 85.0, 92.85714285714286, 93.75, 95.0, 100.0, 100.0, 100.0, 100.0, 80.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0), (0.0, 50.0, 36.17021276595745, 11.320754716981133, 26.666666666666668, 33.33333333333333, 29.03225806451613, 15.384615384615385, 6.666666666666667, 15.0, 7.142857142857142, 6.25, 5.0, 0.0, 0.0, 0.0, 0.0, 20.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0), (0.0, 12.5, 10.638297872340425, 3.7735849056603774, 4.444444444444445, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0), (100.0, 12.5, 4.25531914893617, 1.8867924528301887, 2.2222222222222223, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0)]
  X_AXIS = dataset[0]
  
  matplotlib.rc('font', serif='Helvetica Neue')
  matplotlib.rc('text', usetex='false')
  matplotlib.rcParams.update({'font.size': 40})
  
  fig = matplotlib.pyplot.gcf()
  fig.set_size_inches(18.5, 10.5)
  
  configs = dataset[0]
  N = len(configs)
  ind = np.arange(N)
  width = 0.4
  
  p1 = plt.bar(ind, dataset[1], width, color='r')
  p2 = plt.bar(ind, dataset[2], width, bottom=dataset[1], color='b')
  p3 = plt.bar(ind, dataset[3], width, bottom=dataset[2], color='g')
  p4 = plt.bar(ind, dataset[4], width, bottom=dataset[3], color='c')
  
  plt.ylim([0,120])
  plt.yticks(fontsize=12)
  plt.ylabel(output, fontsize=12)
  plt.xticks(ind, X_AXIS, fontsize=12, rotation=90)
  plt.xlabel('test', fontsize=12)
  plt.legend((p1[0], p2[0], p3[0], p4[0]), (header[0], header[1], header[2], header[3]), fontsize=12, ncol=4, framealpha=0, fancybox=True)
  plt.show()
  </code></pre>
  
  <p><a href="https://i.stack.imgur.com/DSs2h.png" rel="noreferrer"><img src="https://i.stack.imgur.com/DSs2h.png" alt="enter image description here"></a></p>