| 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 | |