Opened 12 years ago

Last modified 6 years ago

#11225 new defect

improve piecewise plotting — at Version 3

Reported by: Karl-Dieter Crisman Owned by: jason, was
Priority: major Milestone: sage-7.3
Component: graphics Keywords: piecewise
Cc: David Joyner, Jason Grout, Robert Pollak, Karl-Dieter Crisman, Volker Braun, Samuel Lelièvre, Matthias Köppe, Eviatar Bach, Ralf Stephan Merged in:
Authors: Reviewers:
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description (last modified by Karl-Dieter Crisman)

Until we actually totally rewrite piecewise functions, we should improve some things.

For concreteness, here is one thing that should work but doesn't. I'm sure there are more - add to this list, and then whatever isn't fixed in this ticket can be moved to another ticket. I just want to make sure they're listed in one place, not ten tickets.


  • plotting more than one
    sage: f = Piecewise([[(0,1),x^3], [(1,2),x^2]], x)
    sage: plot([f,x^3],(x,0,2))
  • plotting a product of a piecewise with a symbolic (well, the problem is multiplying the two, but still worth putting here - see this sage-support thread)
  • Maybe unify with plot_step_function, which currently is sort of its own thing?
  • In this example:
    sage: zero_func(x)=0
    sage: g = Piecewise([[(-1000,1),zero_func],[(1,1000),(x-1)^3]],x)
    sage: G = g.plot()
    sage: g(1)
    • You can use oo (infinity) for endpoints, but then the plot code for Piecewise gets screwed up.
    • You can try putting in zero instead of defining this new zero function, but then g(1) and g(-1) etc. won't work.
    • You can try using extend_by_zero to make the zero part, but it gives the same problem.
    • You can plot without xmin and xmax, but that gives the whole function.
    • You can plot without ymax, but that gives the range further out than you want.
    • You can try plot(g), but that turns out to uncover a very strange error that may or may not be a bug.

Change History (3)

comment:1 Changed 12 years ago by Karl-Dieter Crisman

Description: modified (diff)

comment:2 Changed 12 years ago by Karl-Dieter Crisman

Description: modified (diff)

comment:3 Changed 11 years ago by Karl-Dieter Crisman

Description: modified (diff)
Note: See TracTickets for help on using tickets.