 Visualization - Maple Help 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. • 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. • 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" ); > plots:-contourplot( exp( x ) * cos( y ), x = -1 .. 2*Pi, y = 0 .. Pi, 'coords' = 'spherical', 'filledregions' = true, 'grid' = [100, 100]); > plots:-contourplot( x/(x^2 + y^2 + 1), x = -3 .. 3, y = -3 .. 3, 'filledregions' = true, 'colormap' = "Executive" ); • 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 );  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. • 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"])]) );   • 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. > plots:-display(Matrix(2,3,[seq(ColorTools:-Swatches(m, 'mode'='gradient', 'title' = m), m in ["Coolwarm", "DivergeBWY", "DivergeBJY", "DivergeBKR", "DivergeBKY", "DivergeGWV"])]));      • 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); • 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"])]) );    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) > );    • 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) > );     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.