diff --git a/lib/matplotlib/backend_bases.py b/lib/matplotlib/backend_bases.py index c66c10196d5a..adc2922ab4df 100644 --- a/lib/matplotlib/backend_bases.py +++ b/lib/matplotlib/backend_bases.py @@ -2578,7 +2578,11 @@ def _get_uniform_gridstate(ticks): ax.set_yscale('linear') ax.figure.canvas.draw_idle() elif scale == 'linear': - ax.set_yscale('log') + try: + ax.set_yscale('log') + except ValueError as exc: + warnings.warn(str(exc)) + ax.set_yscale('linear') ax.figure.canvas.draw_idle() # toggle scaling of x-axes between 'log and 'linear' (default key 'k') elif event.key in toggle_xscale_keys: @@ -2587,7 +2591,11 @@ def _get_uniform_gridstate(ticks): ax.set_xscale('linear') ax.figure.canvas.draw_idle() elif scalex == 'linear': - ax.set_xscale('log') + try: + ax.set_xscale('log') + except ValueError: + warnings.warn(str(exc)) + ax.set_xscale('linear') ax.figure.canvas.draw_idle() elif (event.key.isdigit() and event.key != '0') or event.key in all_keys: