25 lines
803 B
Python
25 lines
803 B
Python
import sympy.plotting.backends.base_backend as base_backend
|
|
from sympy.plotting.series import LineOver1DRangeSeries
|
|
from sympy.plotting.textplot import textplot
|
|
|
|
|
|
class TextBackend(base_backend.Plot):
|
|
def __init__(self, *args, **kwargs):
|
|
super().__init__(*args, **kwargs)
|
|
|
|
def show(self):
|
|
if not base_backend._show:
|
|
return
|
|
if len(self._series) != 1:
|
|
raise ValueError(
|
|
'The TextBackend supports only one graph per Plot.')
|
|
elif not isinstance(self._series[0], LineOver1DRangeSeries):
|
|
raise ValueError(
|
|
'The TextBackend supports only expressions over a 1D range')
|
|
else:
|
|
ser = self._series[0]
|
|
textplot(ser.expr, ser.start, ser.end)
|
|
|
|
def close(self):
|
|
pass
|