Plotting a Piecewise function fails.  I've pasted the markdown from my 
ipython notebook:

```python
from sympy import *
init_session()
```

    IPython console for SymPy 1.0 (Python 3.6.0-64-bit) (ground types: 
python)
    
    These commands were executed:
    >>> from __future__ import division
    >>> from sympy import *
    >>> x, y, z, t = symbols('x y z t')
    >>> k, m, n = symbols('k m n', integer=True)
    >>> f, g, h = symbols('f g h', cls=Function)
    >>> init_printing()
    
    Documentation can be found at http://docs.sympy.org/1.0/

```python
f = Piecewise((0,x<0), (1,x<1), (0,True))
print(f.subs(x,-0.5), f.subs(x,0.5), f.subs(x,1.5))
plot(f,(x,-1,2))
```

    0 1 0



    
---------------------------------------------------------------------------

    TypeError                                 Traceback (most recent call 
last)

    
/Users/boncelet/anaconda/lib/python3.6/site-packages/sympy/plotting/experimental_lambdify.py
 
in __call__(self, args)
        193             #The result can be sympy.Float. Hence wrap it with 
complex type.
    --> 194             result = complex(self.lambda_func(args))
        195             if abs(result.imag) > 1e-7 * abs(result):


    
/Users/boncelet/anaconda/lib/python3.6/site-packages/sympy/plotting/experimental_lambdify.py
 
in __call__(self, *args, **kwargs)
        310     def __call__(self, *args, **kwargs):
    --> 311         return self.lambda_func(*args, **kwargs)
        312 


    <string> in <lambda>(x0)


    TypeError: '<' not supported between instances of 'complex' and 'int'

    
    During handling of the above exception, another exception occurred:


    TypeError                                 Traceback (most recent call 
last)

    <ipython-input-2-447f720245d0> in <module>()
          1 f = Piecewise((0,x<0), (1,x<1), (0,True))
          2 print(f.subs(x,-0.5), f.subs(x,0.5), f.subs(x,1.5))
    ----> 3 plot(f,(x,-1,2))
    

    
/Users/boncelet/anaconda/lib/python3.6/site-packages/sympy/plotting/plot.py 
in plot(*args, **kwargs)
       1282     plots = Plot(*series, **kwargs)
       1283     if show:
    -> 1284         plots.show()
       1285     return plots
       1286 


    
/Users/boncelet/anaconda/lib/python3.6/site-packages/sympy/plotting/plot.py 
in show(self)
        183             self._backend.close()
        184         self._backend = self.backend(self)
    --> 185         self._backend.show()
        186 
        187     def save(self, path):


    
/Users/boncelet/anaconda/lib/python3.6/site-packages/sympy/plotting/plot.py 
in show(self)
       1016 
       1017     def show(self):
    -> 1018         self.process_series()
       1019         #TODO after fixing 
https://github.com/ipython/ipython/issues/1255
       1020         # you can uncomment the next line and remove the 
pyplot.show() call


    
/Users/boncelet/anaconda/lib/python3.6/site-packages/sympy/plotting/plot.py 
in process_series(self)
        895             # Create the collections
        896             if s.is_2Dline:
    --> 897                 collection = 
self.LineCollection(s.get_segments())
        898                 self.ax.add_collection(collection)
        899             elif s.is_contour:


    
/Users/boncelet/anaconda/lib/python3.6/site-packages/sympy/plotting/plot.py 
in get_segments(self)
        501                     list_segments.append([p, q])
        502 
    --> 503             f_start = f(self.start)
        504             f_end = f(self.end)
        505             sample([self.start, f_start], [self.end, f_end], 0)


    
/Users/boncelet/anaconda/lib/python3.6/site-packages/sympy/plotting/experimental_lambdify.py
 
in __call__(self, args)
        227                                                     
use_evalf=True,
        228                                                     
complex_wrap_evalf=True)
    --> 229                 result = self.lambda_func(args)
        230                 warnings.warn('The evaluation of the expression 
is'
        231                         ' problematic. We are trying a failback 
method'


    
/Users/boncelet/anaconda/lib/python3.6/site-packages/sympy/plotting/experimental_lambdify.py
 
in __call__(self, *args, **kwargs)
        309 
        310     def __call__(self, *args, **kwargs):
    --> 311         return self.lambda_func(*args, **kwargs)
        312 
        313 


    <string> in <lambda>(x0)


    TypeError: '<' not supported between instances of 'complex' and 'int'



```python

```

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sympy.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/f6dde223-d4f3-4805-99aa-d873169e9fdb%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to