Releases: Davide-sd/sympy-plot-backends
Sympy Plot Backends v2.0.2
What's changed
- Bug fix: included static files necessary for serving interactive application on a new browser window.
- Improved documentation.
Sympy Plot Backends v2.0.1
What's Changed
Bug fix: improved import statements on spb.interactive.ipywidgets: now, this module can be used even when only matplotlib and ipywidgets are installed.
Sympy Plot Backends v2.0.0
What's Changed
If you are upgrading from a previous version, you should run the following code to load the new configuration settings:
from spb.defaults import reset
reset()-
Breaking changes:
-
Refactoring of
*Seriesclasses. All*InteractiveSeriesclasses have been removed. The interactive functionalities have been integrated on regular*Series. This greatly simplifies the code base, meaning bug fixes should take less time to implement. -
Refactoring of
iplotto take into account the aforementioned changes. In particular, interactive widget plots are now tighly integrated into the usual plotting functions. This improves user experience and simplifies the code base. -
The
spb.interactive.create_seriesfunction has been removed.
-
-
Changed the default evaluation algorithm to a uniform sampling strategy, instead of the adaptive algorithm. The latter is still available, just set
adaptive=Trueon the plotting functions that support it. The motivation behind this change is that the adaptive algorithm is usually much slower to produce comparable results: by default, the uniform sampling strategy uses 1000 discretization points over the specified range (users can increase it or decrease it), which is usually enough to smoothly capture the function.It also simplifies the dependencies of the module: now, the adaptive algorithm is not required by the plotting module to successfully visualize symbolic expressions, hence it is not installed. If users need the adaptive algorithm, they'll have to follow the adaptive module installation instructions.
-
Improved support for plotting summations.
-
Implemented wireframe lines for 3D complex plots.
-
Interactive widget plots.
-
Users can now chose the interactive module to be used:
ipywidgets: new in this release. It is the default one.panel: the same, old one.
Please, read the documentation about the interactive sub-module to learn more about them, and how to chose one or the other.
-
Implemented the
templatekeyword argument for interactive widget plots with Holoviz's Panel andservable=True: user can further customize the layout of the web application, or can provide their own Panel's templates. -
The module is now fully interactive. Thanks to the
prangeclass, it is possible to specify parametric ranges. Explore the examples in the module documentation to find out how to use it.
-
-
color_funcnow support symbolic expressions. -
line_colorandsurface_colorare now deprecated in favor ofcolor_func. -
plot_implicit:-
now it supports interactive-widget plots, when
adaptive=False. -
not it support
rendering_kwfor plots created withadaptive=True. -
improved logic dealing with legends. When plotting multiple regions, rectangles will be visible on the legend. When plotting multiple lines, lines will be visible on the legend.
-
-
Removed
tutorialsfolder containing Jupyter notebooks. The documentation contains plently of examples: the notebooks were just reduntant and difficult to maintain. -
MatplotlibBackend: implemented support foripywidgets. -
PlotlyBackend:-
fixed bug with interactive update of lines.
-
implemented support for
ipywidgets.
-
-
BokehBackend:- improved support for Bokeh 3.0.
- removed
update_eventbecause it became a redundant feature now that the module is fully parametric.
-
plot_contour: added theclabelskeyword argument to show/hide contour labels. -
Documentation is now able to show interactive widget plots with K3D-Jupyter.
-
conda package is now built and made available through the conda-forge channel. This greatly simplify the workflow and should allow an easier installation with conda.
Sympy Plot Backends v1.6.7
What's Changed
Fixed bugs related to evaluation with complex numbers and parameters. Thanks to Michele Ceccacci for the fix!
Sympy Plot Backends v1.6.6
What's Changed
- Fixed bug with
PlaneSeries's data generation. Thanks to Crillebon for the fix!
Sympy Plot Backends v1.6.5
What's Changed
-
Refinements and bug correction on
plot_polar: now it supports both cartesian and polar axis. Setpolar_axis=Trueto enable polar axis. -
Added polar axis support to
plot_contourwithMatplotlibBackend. -
3D complex plots uses an auto aspect ratio by default.
Sympy Plot Backends v1.6.4
What's Changed
-
MatplotlibBackend:-
improved
aspectratio logic. It is now possible to use the new values for 3D plots for Matplotlib>=3.6.0, like"equals". -
exposed the
axattribute to easily retrieve the plot axis.
-
-
Added
camerakeyword arguments to backends in order to set the 3D view position. Refer to each backend documentation to get more information about its usage. -
improved documentation.
Sympy Plot Backends v1.6.3
What's Changed
-
Fixed bug with
plot_geometryand 3D geometric entities. -
Added tutorial about combining plots together.
Sympy Plot Backends v1.6.2
What's Changed
-
Added
plot3d_listfunction to plot list of coordinates on 3D space. -
Changed value to default setting:
cfg["matplotlib"]["show_minor_grid"]=False. Set it toTruein order to visualize minor grid lines. -
Improved documentation.
-
Enabled
color_funckeyword argument onplot_vector. -
PlotlyBackend:-
if the number of points of a 2D line is greater than some threshold, the backend will switch to
go.Scattergl. This improves performance. -
Fixed bug with interactive widget contour plot and update of colorbar.
-
-
MatplotlibBackendcan now combine 3d plots with contour plots. -
Fixed bug with addition of interactive plots.
Sympy Plot Backends v1.6.1
What's Changed
-
Improvements to documentation. In particular, ReadTheDocs now shows pictures generated with
PlotlyBackend,K3DBackendas well as interactive plots with widgets. -
Default settings:
-
Changed
cgf["interactive"]["theme"]to"light": interactive plots served on a new browser window will use a light theme. -
Changed
cgf["bokeh"]["update_event"]toFalse: Bokeh won't update the plot with new data as dragging or zooming operations are performed. -
Added new option
cgf["k3d"]["camera_mode"].
-
-
Improvements to
MatplotlibBackend:-
Added label capability to
plot_implicit. -
show()method now accepts keyword arguments. This is useful to detach the plot from a non-interactive console.
-
-
Added
dotskeyword argument toplot_piecewiseto choose whether to show circular markers on endpoints. -
Fixed bug with plotting 3D vectors.