Visualization - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim


Visualization Updates in Maple 2023 

 

Building explorations with the Plot Builder 

Color bars for contour and density plots 

More new colormaps for gradient color schemes 

More plot types are responsive to global color settings 

Plotting is faster and uses less memory 

Building explorations with the Plot Builder 

  • The PlotBuilder now supports plotting expressions with extra parameters, constructing an interactive plot with slider controls that change the extra parameter values.
 

Image 

  • The choice of which independent names are plotting variables and which are interactive parameters can be changed.
 

  • This functionality supports 2-D and 3-D plots. Multiple expressions can be plotted separately or interpreted together as an appropriate parametric calling sequence.
 

Image 

  • The choice of plot type and its qualities can be changed by re-entering the PlotBuilder in the right-side panel. In the case of a constructed interactive plot an Edit button allows the side panel to reopen with the corresponding saved plotting options.
 

  • You can access the Plot Builder using the PlotBuilder command or via the Context Panel for an expression. See Using the Interactive Plot Builder.
 

Color bars for contour and density plots 

  • Plots produced by the plots:-densityplot and plots:-contourplot commands now appear with a color bar by default. You can control whether a color bar is displayed by using the colorbar (or colourbar) option, which is true by default.
 

> plots:-densityplot( tan( x^2 - y^2 ), x = -2*Pi .. 2*Pi, y = -2*Pi .. 2*Pi, 'colormap' = "Magma" );
 

Image
 

> plots:-contourplot( exp( x ) * cos( y ), x = -1 .. 2*Pi, y = 0 .. Pi, 'coords' = 'spherical', 'filledregions' = true, 'grid' = [100, 100]);
 

Image
 

> plots:-contourplot( x/(x^2 + y^2 + 1), x = -3 .. 3, y = -3 .. 3, 'filledregions' = true, 'colormap' = "Executive" );
 

Image
 

  • To suppress the display of a color bar, set the colorbar = false option.
 

> plots:-densityplot( sin( x/y ), x = -Pi .. Pi, y = -Pi .. Pi, 'colormap' = "DivergeRainbow", 'colorbar' = false );
 

Image
 

More new colormaps for gradient color schemes 

  • Fourteen new colormaps are now available in Maple as ColorTools palettes that can easily be used with the colorscheme option for plot commands that accept it.
 

  • There is one new linear colormap Cividis which is a more colorblind friendly version of previously added linear color map Viridis.
 

> ColorTools:-Swatches("Cividis", 'mode'=gradient, 'title'="Cividis");
 

Image
 

  • There are three cyclic colormaps Colorwheel, Isocircle, and Twilight useful for data that cycles.
 

> plots:-display( Array([ seq(ColorTools:-Swatches(m, 'mode'='wheel', 'title'=m), m in ["Colorwheel", "Isocircle", "Twilight"])]) );
 


Image Image Image


 

  • There are seven divergent colormaps which emphasize the central values and change differently above and below. Those colormaps are Coolwarm, DivergeBJY, DivergeBKR, DivergeBKY, DivergeBWY, DivergeGWV, and DivergeRainbow.
 

> ColorTools:-Swatches("DivergeRainbow", 'mode'='gradient');
 

Image
 

> plots:-display(Matrix(2,3,[seq(ColorTools:-Swatches(m, 'mode'='gradient', 'title' = m), m in ["Coolwarm", "DivergeBWY", "DivergeBJY", "DivergeBKR", "DivergeBKY", "DivergeGWV"])]));
 


Image Image Image
Image Image Image


 

  • Twilight is also a good divergent colormap.
 

> plot([abs(x)*sin(x), abs(x)*cos(x), x = -3*Pi .. 3*Pi], colorscheme = "DivergeRainbow", thickness = 5, title = "Twilight", scaling = constrained);
 

Image
 

  • There are three new rainbow colormaps, Isoluminant, Rainbow, and Turbo all aiming to be visually appealing without the drawbacks of using a HSV color hue spread colormap.
 

> plots:-display( Array([ seq(ColorTools:-Swatches(m, 'mode'='gradient', 'title'=m), m in ["Isoluminant", "Rainbow", "Turbo"])]) );
 


Image Image Image


 

More plot types are responsive to global color settings 

  • The default colors for plots can be set with the plots:-setcolors command those colors are now used as the default colors for densityplot, contourplot, and DEtools:-DEplot.
 

  • These are the new default colors for these plots:
 

> plots:-display( <
DEtools:-DEplot(diff(y(t), t) = 2.0 - 0.1*y(t), y(t), t = 0 .. 20, [y(0) = 10, y(0) = 30, y(0) = 50]) ,
plots:-contourplot( -5*x/(x^2 + y^2 + 1), x=-3..3, y=-3..3, colorbar=false) ;
plots:-contourplot( -5*x/(x^2 + y^2 + 1), x=-3..3, y=-3..3, colorbar=false, filled) ,
plots:-densityplot( -5*x/(x^2 + y^2 + 1), x=-3..3, y=-3..3, colorbar=false)
> );
 


Image Image
Image Image


 

  • Using setcolors to choose a new ColorCollection changes the defaults for all four plots to use the new palette:
 

> plots:-setcolors("Dalton"):
 

> plots:-display( <
DEtools:-DEplot(diff(y(t), t) = 2.0 - 0.1*y(t), y(t), t = 0 .. 20, [y(0) = 10, y(0) = 30, y(0) = 50]) ,
plots:-contourplot( -5*x/(x^2 + y^2 + 1), x=-3..3, y=-3..3, colorbar=false) ;
plots:-contourplot( -5*x/(x^2 + y^2 + 1), x=-3..3, y=-3..3, colorbar=false, filled) ,
plots:-densityplot( -5*x/(x^2 + y^2 + 1), x=-3..3, y=-3..3, colorbar=false)
> );
 


Image Image
Image Image


 

Plotting is faster and uses less memory 

  • Plotting in Maple uses a smart, adaptive plotting engine.  In Maple 2023, we focused on improving the speed and memory usage of the adaptive plotting engine.  See Performance Improvements for Plots for details.
 

See Also 

ColorTools,ColorCollections 

PlotBuilder 

plots:-densityplot