I get a similar error, when running the command

plot(x^2+1,(x,-1,1))

inside a terminal session.

For instance:

## plot(x^2+1,(x,-1,))

TypeError Traceback (most recent call last)
<ipython-input-1-8ef1c67ac85a> in <module>()
----> 1 plot(x**Integer(2)+Integer(1),(x,-Integer(1),))

/Applications/SageMath-8.3.app/Contents/Resources/sage/local/lib/python2.7/site-packages/sage/misc/decorators.pyc in wrapper(*args, **kwds)
565 options['__original_opts'] = kwds
566 options.update(kwds)
--> 567 return func(*args, **options)
568
569 #Add the options specified by @options to the signature of the wrapped

/Applications/SageMath-8.3.app/Contents/Resources/sage/local/lib/python2.7/site-packages/sage/plot/plot.pyc in plot(funcs, *args, **kwds)
1939
1940 if hasattr(funcs, 'plot'):
-> 1941 G = funcs.plot(*args, **original_opts)
1942
1943 # If we have extra keywords already set, then update them

/Applications/SageMath-8.3.app/Contents/Resources/sage/local/lib/python2.7/site-packages/sage/symbolic/expression.pyx in sage.symbolic.expression.Expression.plot (build/cythonized/sage/symbolic/expression.cpp:68738)()
12030 except NotImplementedError:
12031 return self.function(param)

12032 return plot(f, *args, **kwds)
12033
12034 def _plot_fast_callable(self, *vars):

/Applications/SageMath-8.3.app/Contents/Resources/sage/local/lib/python2.7/site-packages/sage/misc/decorators.pyc in wrapper(*args, **kwds)
565 options['__original_opts'] = kwds
566 options.update(kwds)
--> 567 return func(*args, **options)
568
569 #Add the options specified by @options to the signature of the wrapped

/Applications/SageMath-8.3.app/Contents/Resources/sage/local/lib/python2.7/site-packages/sage/plot/plot.pyc in plot(funcs, *args, **kwds)
1958 # if there is one extra arg, then it had better be a tuple
1959 elif n == 1:
-> 1960 G = _plot(funcs, *args, **kwds)
1961 elif n == 2:
1962 # if there are two extra args, then pull them out and pass them as a tuple

/Applications/SageMath-8.3.app/Contents/Resources/sage/local/lib/python2.7/site-packages/sage/plot/plot.pyc in _plot(funcs, xrange, parametric, polar, fill, label, randomize, **options)
2075 orig_funcs = funcs # keep the original functions (for use in legend labels)
2076 excluded_points = []
-> 2077 funcs, ranges = setup_for_eval_on_grid(funcs, [xrange], options['plot_points'])
2078 xmin, xmax, delta = ranges[0]
2079 xrange=ranges[0][:2]

/Applications/SageMath-8.3.app/Contents/Resources/sage/local/lib/python2.7/site-packages/sage/plot/misc.pyc in setup_for_eval_on_grid(funcs, ranges, plot_points, return_vars)
119 vars += ('_',)*(nargs-len(vars))
120
--> 121 ranges = [[float(z) for z in r] for r in ranges]
122
123 if plot_points is None:

/Applications/SageMath-8.3.app/Contents/Resources/sage/local/lib/python2.7/site-packages/sage/symbolic/expression.pyx in sage.symbolic.expression.Expression.__float__ (build/cythonized/sage/symbolic/expression.cpp:11836)()
1426 raise
1427 except TypeError:
-> 1428 raise TypeError("unable to simplify to float approximation")
1429 return ret
1430

TypeError: unable to simplify to float approximation