Skip to content

Releases: Davide-sd/sympy-plot-backends

Sympy Plot Backends v2.0.2

30 Mar 17:26

Choose a tag to compare

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

29 Mar 12:18

Choose a tag to compare

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

29 Mar 10:38

Choose a tag to compare

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 *Series classes. All *InteractiveSeries classes 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 iplot to 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_series function 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=True on 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 template keyword argument for interactive widget plots with Holoviz's Panel and servable=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 prange class, it is possible to specify parametric ranges. Explore the examples in the module documentation to find out how to use it.

  • color_func now support symbolic expressions.

  • line_color and surface_color are now deprecated in favor of color_func.

  • plot_implicit:

    • now it supports interactive-widget plots, when adaptive=False.

    • not it support rendering_kw for plots created with adaptive=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 tutorials folder containing Jupyter notebooks. The documentation contains plently of examples: the notebooks were just reduntant and difficult to maintain.

  • MatplotlibBackend: implemented support for ipywidgets.

  • PlotlyBackend:

    • fixed bug with interactive update of lines.

    • implemented support for ipywidgets.

  • BokehBackend:

    • improved support for Bokeh 3.0.
    • removed update_event because it became a redundant feature now that the module is fully parametric.
  • plot_contour: added the clabels keyword 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

28 Feb 12:30

Choose a tag to compare

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

26 Dec 18:52

Choose a tag to compare

What's Changed

  • Fixed bug with PlaneSeries's data generation. Thanks to Crillebon for the fix!

Sympy Plot Backends v1.6.5

19 Dec 18:38

Choose a tag to compare

What's Changed

  • Refinements and bug correction on plot_polar: now it supports both cartesian and polar axis. Set polar_axis=True to enable polar axis.

  • Added polar axis support to plot_contour with MatplotlibBackend.

  • 3D complex plots uses an auto aspect ratio by default.

Sympy Plot Backends v1.6.4

18 Dec 11:14

Choose a tag to compare

What's Changed

  • MatplotlibBackend:

    • improved aspect ratio logic. It is now possible to use the new values for 3D plots for Matplotlib>=3.6.0, like "equals".

    • exposed the ax attribute to easily retrieve the plot axis.

  • Added camera keyword 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

14 Dec 10:24

Choose a tag to compare

What's Changed

  • Fixed bug with plot_geometry and 3D geometric entities.

  • Added tutorial about combining plots together.

Sympy Plot Backends v1.6.2

13 Dec 11:06

Choose a tag to compare

What's Changed

  • Added plot3d_list function to plot list of coordinates on 3D space.

  • Changed value to default setting: cfg["matplotlib"]["show_minor_grid"]=False. Set it to True in order to visualize minor grid lines.

  • Improved documentation.

  • Enabled color_func keyword argument on plot_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.

  • MatplotlibBackend can now combine 3d plots with contour plots.

  • Fixed bug with addition of interactive plots.

Sympy Plot Backends v1.6.1

29 Nov 18:30

Choose a tag to compare

What's Changed

  • Improvements to documentation. In particular, ReadTheDocs now shows pictures generated with PlotlyBackend, K3DBackend as 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"] to False: 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 dots keyword argument to plot_piecewise to choose whether to show circular markers on endpoints.

  • Fixed bug with plotting 3D vectors.