Repository navigation
Sympy Plot Backends v2.3.0
What's Changed
-
Improvements to the
plotfunction:-
Implemented reversed x-axis. Usually, a plot range is given with the form
(symbol, min_val, max_val), withmin_valon the left of the plot. If a range is given with(symbol, max_val, min_val), then the x-axis will be reversed. -
The
plotfunction is now able to show vertical lines at discontinuities whendetect_poles="symbolic", at least for simple symbolic expressions.
-
-
Introducing the
Rendererclass. Up to version2.2.0, all the rendering logic was located into each backend class, making it very difficult if not impossible to extend the capabilities for final users. From this version, each data series is going to be paired with an instance ofRenderer: users can create new data series and renderers. Then, by informing the backend of their existance, users can create new plot functions or modify the rendering of the old ones. -
Introducing the control module, which contains plotting functions for some of the common plots used in control system. This is an improved version of what is currently present on SymPy (version 1.12), because:
- it allows to plot multiple systems simultaneously, making it easier to compare different transfer functions.
- it works both on Matplotlib, Plotly and Bokeh.
- it allows to create interactive-widgets plots, allowing the study of parametric systems.
Thanks to all SymPy developers that worked on the
sympy.physics.control.control_plotsmodule.Further, it includes
plot_nyquistandplot_nichols, which currently only works with Matplotlib. Their underlying rendering logic comes from the python-control package. Huge thanks to all thepython-controldevelopers that worked on those functions. -
Upgrading dependency of Holoviz's Panel to version greater or equal than 1.0.0.
-
Bug fixes:
-
complex surfaces can now be plotted with
plot_contour. -
custom rendering keyword arguments can be passed to
plot_geometry.
-