I was using the following code to boxplot the values with 5th and 95th percentiles as upper and lower bounds. Surprisingly, I have got two different plots by using matplotlib 1.4.0 in python 2.7.3 and matplotlib 2.2.0 in python 3.6.5. The version 1.4.0 seems to show the maximum value (49.33) and version 2.2.0 to show a value around 25 as 95th percentile, while the actual 95th percentile is 36.13. What could be a possible reason of these differences? And, which one should be considered as correct?
import numpy as np
import matplotlib.pyplot as plt
values = np.array([0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,49.33,0.00,0.00,25.33])
f, (ax1) = plt.subplots()
ax1.boxplot(values, whis=[5.0,95.0], showfliers=False)
plt.show()