import matplotlib.pyplot as plt
fig, ax = plt.subplots(constrained_layout=True)
ax.plot([.2,.4,.6,.8],[.2, .4, .5, .9])
ax.set_xscale('logit')
plt.show()
results in a crash of python in Windows. I.e. it shows a pop up saying python needs to be closed because it crashed.
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.plot([.2,.4,.6,.8],[.2, .4, .5, .9])
ax.set_xscale('logit')
fig.tight_layout()
plt.show()
D:\...\envs\mplgit\lib\site-packages\numpy\core\_methods.py:29: RuntimeWarning: invalid value encountered in reduce
return umr_minimum(a, axis, None, out, keepdims)
D:\...\envs\mplgit\lib\site-packages\numpy\core\_methods.py:26: RuntimeWarning: invalid value encountered in reduce
return umr_maximum(a, axis, None, out, keepdims)
posx and posy should be finite values
posx and posy should be finite values
posx and posy should be finite values
posx and posy should be finite values
posx and posy should be finite values
posx and posy should be finite values
posx and posy should be finite values
Traceback (most recent call last):
File "d:\...\python\matplotlib\source\matplotlibgit\matplotlib\lib\matplotlib\backends\backend_qt5.py", line 513, in _draw_idle
self.draw()
File "d:\...\python\matplotlib\source\matplotlibgit\matplotlib\lib\matplotlib\backends\backend_agg.py", line 421, in draw
self.figure.draw(self.renderer)
File "d:\...\python\matplotlib\source\matplotlibgit\matplotlib\lib\matplotlib\artist.py", line 50, in draw_wrapper
return draw(artist, renderer, *args, **kwargs)
File "d:\...\python\matplotlib\source\matplotlibgit\matplotlib\lib\matplotlib\figure.py", line 1478, in draw
renderer, self, artists, self.suppressComposite)
File "d:\...\python\matplotlib\source\matplotlibgit\matplotlib\lib\matplotlib\image.py", line 138, in _draw_list_compositing_images
a.draw(renderer)
File "d:\...\python\matplotlib\source\matplotlibgit\matplotlib\lib\matplotlib\artist.py", line 50, in draw_wrapper
return draw(artist, renderer, *args, **kwargs)
File "d:\...\python\matplotlib\source\matplotlibgit\matplotlib\lib\matplotlib\axes\_base.py", line 2583, in draw
mimage._draw_list_compositing_images(renderer, self, artists)
File "d:\...\python\matplotlib\source\matplotlibgit\matplotlib\lib\matplotlib\image.py", line 138, in _draw_list_compositing_images
a.draw(renderer)
File "d:\...\python\matplotlib\source\matplotlibgit\matplotlib\lib\matplotlib\artist.py", line 50, in draw_wrapper
return draw(artist, renderer, *args, **kwargs)
File "d:\...\python\matplotlib\source\matplotlibgit\matplotlib\lib\matplotlib\axis.py", line 1177, in draw
ticks_to_draw = self._update_ticks(renderer)
File "d:\...\python\matplotlib\source\matplotlibgit\matplotlib\lib\matplotlib\axis.py", line 1017, in _update_ticks
tick_tups = list(self.iter_ticks()) # iter_ticks calls the locator
File "d:\...\python\matplotlib\source\matplotlibgit\matplotlib\lib\matplotlib\axis.py", line 961, in iter_ticks
majorLocs = self.major.locator()
File "d:\...\python\matplotlib\source\matplotlibgit\matplotlib\lib\matplotlib\ticker.py", line 1922, in __call__
return self.tick_values(vmin, vmax)
File "d:\...\python\matplotlib\source\matplotlibgit\matplotlib\lib\matplotlib\ticker.py", line 1930, in tick_values
locs = self._raw_ticks(vmin, vmax)
File "d:\...\python\matplotlib\source\matplotlibgit\matplotlib\lib\matplotlib\ticker.py", line 1876, in _raw_ticks
nbins = np.clip(self.axis.get_tick_space(),
File "d:\...\python\matplotlib\source\matplotlibgit\matplotlib\lib\matplotlib\axis.py", line 2503, in get_tick_space
return int(np.floor(length / size))
ValueError: cannot convert float NaN to integer
Using either of above without layout manager gives the correct figure.
Bug report
Bug summary
Using
constrained_layoutortight_layoutin conjunction with alogitscale fails or crashes.Constrained layout:
results in a crash of python in Windows. I.e. it shows a pop up saying python needs to be closed because it crashed.
Tight layout
produces a long traceback for a
ValueError: cannot convert float NaN to integer.Expected outcome
Using either of above without layout manager gives the correct figure.
Also, using either of above without the line
ax.set_xscale('logit')produces the expected output.This may be related to #5456.
Matplotlib version
print(matplotlib.get_backend())): Qt5Agg, TkAgg