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
#34668 was focusing on making doctests pass but did not test
docbuilding.
The following plot in `src/sage/plot/plot.py`
{{{
.. PLOT::
g =
plot(2*x+1,(x,0,5),ticks=[[0,1,e,pi,sqrt(20)],2],tick_formatter="latex")
sphinx_plot(g)
}}}
is causing the building of the documentation to fail horribly.
{{{
[plotting ] from /home/portage/sci-mathematics/sage-doc-9999/work/sage-
doc-9999/src/doc/en/reference/plotting/sage/plot/plot.rst:
[plotting ] Traceback (most recent call last):
[plotting ] File "/usr/lib/python3.10/site-
packages/matplotlib/artist.py", line 1378, in
_get_tightbbox_for_layout_only
[plotting ] return obj.get_tightbbox(*args, **{**kwargs,
"for_layout_only": True})
[plotting ] File "/usr/lib/python3.10/site-
packages/matplotlib/axis.py", line 1251, in get_tightbbox
[plotting ] ticks_to_draw = self._update_ticks()
[plotting ] File "/usr/lib/python3.10/site-
packages/matplotlib/axis.py", line 1198, in _update_ticks
[plotting ] minor_locs = self.get_minorticklocs()
[plotting ] File "/usr/lib/python3.10/site-
packages/matplotlib/axis.py", line 1431, in get_minorticklocs
[plotting ] mask = np.isclose(tr_minor_locs[:, None],
tr_major_locs[None, :],
[plotting ] File "<__array_function__ internals>", line 180, in
isclose
[plotting ] File "/usr/lib/python3.10/site-
packages/numpy/core/numeric.py", line 2373, in isclose
[plotting ] yfin = isfinite(y)
[plotting ] TypeError: ufunc 'isfinite' not supported for the input
types, and the inputs could not be safely coerced to any supported types
according to the casting rule ''safe''
[plotting ] During handling of the above exception, another exception
occurred:
[plotting ] Traceback (most recent call last):
[plotting ] File "/usr/lib/python3.10/site-
packages/matplotlib/artist.py", line 1378, in
_get_tightbbox_for_layout_only
[plotting ] return obj.get_tightbbox(*args, **{**kwargs,
"for_layout_only": True})
[plotting ] File "/usr/lib/python3.10/site-
packages/matplotlib/axes/_base.py", line 4428, in get_tightbbox
[plotting ] ba = martist._get_tightbbox_for_layout_only(axis,
renderer)
[plotting ] File "/usr/lib/python3.10/site-
packages/matplotlib/artist.py", line 1380, in
_get_tightbbox_for_layout_only
[plotting ] return obj.get_tightbbox(*args, **kwargs)
[plotting ] File "/usr/lib/python3.10/site-
packages/matplotlib/axis.py", line 1251, in get_tightbbox
[plotting ] ticks_to_draw = self._update_ticks()
[plotting ] File "/usr/lib/python3.10/site-
packages/matplotlib/axis.py", line 1198, in _update_ticks
[plotting ] minor_locs = self.get_minorticklocs()
[plotting ] File "/usr/lib/python3.10/site-
packages/matplotlib/axis.py", line 1431, in get_minorticklocs
[plotting ] mask = np.isclose(tr_minor_locs[:, None],
tr_major_locs[None, :],
[plotting ] File "<__array_function__ internals>", line 180, in
isclose
[plotting ] File "/usr/lib/python3.10/site-
packages/numpy/core/numeric.py", line 2373, in isclose
[plotting ] yfin = isfinite(y)
[plotting ] TypeError: ufunc 'isfinite' not supported for the input
types, and the inputs could not be safely coerced to any supported types
according to the casting rule ''safe''
[plotting ] During handling of the above exception, another exception
occurred:
[plotting ] Traceback (most recent call last):
[plotting ] File "/usr/lib/python3.10/site-
packages/matplotlib/artist.py", line 1378, in
_get_tightbbox_for_layout_only
[plotting ] return obj.get_tightbbox(*args, **{**kwargs,
"for_layout_only": True})
[plotting ] File "/usr/lib/python3.10/site-
packages/matplotlib/axis.py", line 1251, in get_tightbbox
[plotting ] ticks_to_draw = self._update_ticks()
[plotting ] File "/usr/lib/python3.10/site-
packages/matplotlib/axis.py", line 1198, in _update_ticks
[plotting ] minor_locs = self.get_minorticklocs()
[plotting ] File "/usr/lib/python3.10/site-
packages/matplotlib/axis.py", line 1431, in get_minorticklocs
[plotting ] mask = np.isclose(tr_minor_locs[:, None],
tr_major_locs[None, :],
[plotting ] File "<__array_function__ internals>", line 180, in
isclose
[plotting ] File "/usr/lib/python3.10/site-
packages/numpy/core/numeric.py", line 2373, in isclose
[plotting ] yfin = isfinite(y)
[plotting ] TypeError: ufunc 'isfinite' not supported for the input
types, and the inputs could not be safely coerced to any supported types
according to the casting rule ''safe''
[plotting ] During handling of the above exception, another exception
occurred:
[plotting ] Traceback (most recent call last):
[plotting ] File "/usr/lib/python3.10/site-
packages/matplotlib/sphinxext/plot_directive.py", line 515, in _run_code
[plotting ] exec(code, ns)
[plotting ] File "<string>", line 2, in <module>
[plotting ] File "<string>", line 37, in sphinx_plot
[plotting ] File "/usr/lib/python3.10/site-
packages/matplotlib/figure.py", line 3448, in tight_layout
[plotting ] engine.execute(self)
[plotting ] File "/usr/lib/python3.10/site-
packages/matplotlib/layout_engine.py", line 180, in execute
[plotting ] kwargs = get_tight_layout_figure(
[plotting ] File "/usr/lib/python3.10/site-
packages/matplotlib/_tight_layout.py", line 305, in
get_tight_layout_figure
[plotting ] kwargs = _auto_adjust_subplotpars(fig, renderer,
[plotting ] File "/usr/lib/python3.10/site-
packages/matplotlib/_tight_layout.py", line 82, in
_auto_adjust_subplotpars
[plotting ] bb += [martist._get_tightbbox_for_layout_only(ax,
renderer)]
[plotting ] File "/usr/lib/python3.10/site-
packages/matplotlib/artist.py", line 1380, in
_get_tightbbox_for_layout_only
[plotting ] return obj.get_tightbbox(*args, **kwargs)
[plotting ] File "/usr/lib/python3.10/site-
packages/matplotlib/axes/_base.py", line 4428, in get_tightbbox
[plotting ] ba = martist._get_tightbbox_for_layout_only(axis,
renderer)
[plotting ] File "/usr/lib/python3.10/site-
packages/matplotlib/artist.py", line 1380, in
_get_tightbbox_for_layout_only
[plotting ] return obj.get_tightbbox(*args, **kwargs)
[plotting ] File "/usr/lib/python3.10/site-
packages/matplotlib/axis.py", line 1251, in get_tightbbox
[plotting ] ticks_to_draw = self._update_ticks()
[plotting ] File "/usr/lib/python3.10/site-
packages/matplotlib/axis.py", line 1198, in _update_ticks
[plotting ] minor_locs = self.get_minorticklocs()
[plotting ] File "/usr/lib/python3.10/site-
packages/matplotlib/axis.py", line 1431, in get_minorticklocs
[plotting ] mask = np.isclose(tr_minor_locs[:, None],
tr_major_locs[None, :],
[plotting ] File "<__array_function__ internals>", line 180, in
isclose
[plotting ] File "/usr/lib/python3.10/site-
packages/numpy/core/numeric.py", line 2373, in isclose
[plotting ] yfin = isfinite(y)
[plotting ] TypeError: ufunc 'isfinite' not supported for the input
types, and the inputs could not be safely coerced to any supported types
according to the casting rule ''safe''
}}}
Tests of this plot were disabled in #34668 and now we need to remove the
plot. The whole example needs to be replaced by something that works.
We could not overcome the problem of symbolic values that numpy rejects,
but instead made a fix to circumvent numpy and revived the doctest and
the example.
URL: https://trac.sagemath.org/34693
Reported by: fbissey
Ticket author(s): Kwankyu Lee
Reviewer(s): Matthias Koeppe
0 commit comments