You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Axes.hist method doesn't handle the bottom kwarg properly when given log=True and histtype='step' or histtype='stepfilled'. As the example below shows, the method sets a minimum value to prevent issues with zeros on a log scale, but that supercedes a non-zero bottom kwarg:
importnumpyfrommatplotlibimportpyplotfig=pyplot.figure()
ax=fig.gca()
ax.hist(numpy.random.random(1000), bins=100, log=True, bottom=1e-2, histtype='stepfilled')
ax.set_ylim(1e-2, 1e3)
ax.set_title('Bottom should be 1e-2, but instead is 1/base')
I can correct the issue with the following edit:
diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py
index 4d10e86..2392a6d 100644
--- a/lib/matplotlib/axes/_axes.py+++ b/lib/matplotlib/axes/_axes.py@@ -5779,7 +5779,9 @@ class Axes(_AxesBase):
logbase = self.yaxis._scale.base
# Setting a minimum of 0 results in problems for log plots
- if normed or weights is not None:+ if np.min(bottom) > 0:+ minimum = np.min(bottom)+ elif normed or weights is not None:
# For normed data, set to log base * minimum data value
# (gives 1 full tick-label unit for the lowest filled bin)
ndata = np.array(n)
which uses the bottom value to set the minimum if it's nonzero. If this is confirmed as a bug, I can open a PR.
The text was updated successfully, but these errors were encountered:
- this new test checks that the `bottom` kwarg to `Axes.hist` behaves
as expected under a variety of circumstances when
`log=True, histtype='step{filled}' given
The
Axes.hist
method doesn't handle thebottom
kwarg properly when givenlog=True
andhisttype='step'
orhisttype='stepfilled'
. As the example below shows, the method sets aminimum
value to prevent issues with zeros on a log scale, but that supercedes a non-zerobottom
kwarg:I can correct the issue with the following edit:
which uses the
bottom
value to set theminimum
if it's nonzero. If this is confirmed as a bug, I can open a PR.The text was updated successfully, but these errors were encountered: