Closed
Description
Bug report
Bug summary
When I display 2 datasets on a barstacked histogram with a logged y-scale the lower limit on the y-axis is 10**0 == 1, so not displaying frequencies of 1. Pooling the data results in a histogram with adjusted lower limit so that frequencies of 1 are shown.
Code for reproduction
>>> import random
>>> test_data = [random.random() for _ in range(10)]
>>> import pylab
>>> pylab.hist(test_data, histtype='barstacked')
(array([3., 0., 1., 0., 2., 0., 1., 1., 0., 2.]), array([0.01724381, 0.11487901, 0.21251422, 0.31014942, 0.40778463,
0.50541983, 0.60305504, 0.70069024, 0.79832545, 0.89596065,
0.99359586]), <a list of 10 Patch objects>)
>>> pylab.yscale('log')
>>> pylab.savefig('/home/duncan/Documents/test1.jpeg', format='jpeg', dpi=300)
>>> pylab.close()
>>> pylab.hist([test_data[:5], test_data[5:]], histtype='barstacked')
([array([2., 0., 1., 0., 1., 0., 0., 1., 0., 0.]), array([3., 0., 1., 0., 2., 0., 1., 1., 0., 2.])], array([0.01724381, 0.11487901, 0.21251422, 0.31014942, 0.40778463,
0.50541983, 0.60305504, 0.70069024, 0.79832545, 0.89596065,
0.99359586]), <a list of 2 Lists of Patches objects>)
>>> pylab.yscale('log')
>>> pylab.savefig('/home/duncan/Documents/test2.jpeg', format='jpeg', dpi=300)
>>> pylab.close()
Actual outcome
# If applicable, paste the console output here
#
#
Expected outcome
Distinct plots with identical y-scales - showing frequencies of 1
Matplotlib version
- Operating system: Ubuntu 18.04
- Matplotlib version: 2.1.1
- Matplotlib backend (
print(matplotlib.get_backend())
): TkAgg - Python version: Python 3.6.9 (default, Jul 17 2020, 12:50:27)
- Jupyter version (if applicable):
- Other libraries:
Ubuntu repos