Note that API v1.4 is currently an experimental preview that will be stabilized and released in December of 2019. API v1.3 should be used in production.
Added sliders
constructor option to allow disabling sliders in the
graphing calculator.
Added plotImplicits
constructor option
to allow disabling plotting implicit equations and inequalities in the graphing calculator. Note that this option is similar to the existing plotSingleVariableImplicitEquations
option, but the new option applies to both equations and inequalities with any number of variables.
Added plotInequalities
constructor option
to allow disabling plotting inequalities in the graphing calculator.
The fillOpacity
expression property may now be set to either a number, or a latex string that evaluates to a number.
spearman
function that outputs Spearman's rank correlation
coefficient between two lists of numbers.File Size (gzipped): 477kb
Added a brailleExpressionDownload
constructor option and setting to the four-function and scientific calculators. This option sets whether it is possible for the user to export a Braille version of the expression list. Default is true.
Added a showResetButtonOnGraphpaper
constructor option.
If a default state is
set, a small reset button will appear on the graphpaper.
Added a distributions
constructor option for enabling/disabling functions for working with statistical distributions and visualizing univariate data.
Added a showLabels
option to GraphingCalculator.asyncScreenshot()
for including point labels in the captured image.
Added a randomSeed
property to the GraphingCalculator.settings
observable object.
Added a GraphingCalculator.newRandomSeed()
method that will globally re-randomize any expressions relying on random()
values.
histogram
, dotplot
, boxplot
uniformdist
, normaldist
, tdist
, poissondist
, binomialdist
pdf
, cdf
, quantile
, inversecdf
ttest
, ittest
random()
function:
"Edit List" mode is now accessible via keyboard.
Usability improvements for large tables:
For improved readability of long numbers, thin spaces are now automatically inserted between digit groupings.
Added a 'cbrt' shortcut for cube roots.
Better handling of parameter domain bounds in nonlinear regressions.
Added a "zoom fit" button for tables.
Updated styling for evaluated outputs.
File Size (gzipped): 435kb
Added decimalToFraction
configuration
option that controls whether
users are allowed to perform decimal to fraction conversion in evaluations.
Added the ability for the GraphingCalculator.updateSettings()
method to change configuration options at runtime. Any configuration option or graph
setting may be passed into the constructor, and any of those properties can by updated
via updateSettings()
.
Added the ability to set a point label's size and orientation
via setExpression()
.
Added Desmos.LabelSizes
and
Desmos.LabelOrientations
enums.
Added links
configuration option for the four function and scientific calculators to match the existing option on the graphing calculator. Setting links: false
removes external links from the calculator, which may be useful in testing environments or other restricted environments.
Added capExpressionSize
configuration option for the graphing, four function, and scientific calculators. Setting capExpressionSize: true
sets the maximum length of an expression to 100 characters. This option is set to false
by default.
For partners who are self-hosting the API, the API can now be loaded as a CommonJS module, and bundled using webpack and other CommonJS compatible bundlers.
Updated keypad styling that includes improved colors and contrast for better visual accessibility, in accordance with WCAG 2.1 guidelines.
Added decimal to fraction conversion in evaluations when a good rational approximation is detected.
For all numeric computations, the calculators will attempt to propagate rational values whenever feasible, leading to more intuitive output in many common situations where intermediate floating-point rounding errors might otherwise introduce confusion.
Domain bounds for parametric and polar graphs, as well as bounds and step sizes for sliders, can now be defined in terms of dynamic variables in addition to static constants.
Audio trace is enabled for more expression types: notably tables and point definitions.
Audio trace now uses custom-generated waveforms, rather than relying on HTML5 audio synthesis methods, making the audio experience more consistent across browsers.
Contextual information reported by screen readers is more accurate when using keyboard navigation inside of expressions involving sums, integrals, and products.
For screen readers that support the aria-roledescription attribute, the calculators provide more useful, human-readable descriptions of objects and page elements.
File Size (gzipped): 418kb
Added a clearIntoDegreeMode
constructor option
that determines whether the clearing the graph through the UI or through setBlank()
will
return the calculator to degreeMode
.
Added a plotSingleVariableImplicitEquations
constructor option
that determines whether the graphing calculator should plot single-variable implicit equations.
Added more evaluation information to the
expressionAnalysis
observable object.
Added fill
and fillOpacity
properties
that may be set via setExpression
. They determine whether the interior of a polygon or parametric
curve is shaded, and at what opacity.
The style
property on expression objects passed into setExpression
has been deprecated and split
into pointStyle
and lineStyle
, which control which style
is applied to each type of object plotted by the expression. Although support for using the
style
property continues in API v1.1, it may be removed in future versions.
Added the ability to control visibility of points and line segments when plotting point
lists. You may set boolean points
and lines
properties through setExpression
that will control
whether points, lines, or both are plotted.
Deprecated the columnMode
property for table columns.
It has been split into boolean points
and lines
properties that control whether points and lines should be
plotted, respectively. Although support for using columnMode
continues in API v1.1, it may be removed in
future versions. Objects passed into setExpression
should use the new points
and lines
properties instead.
Table columns now accept more drawing styles. You
may optionally include a pointStyle
and lineStyle
on columns provided as part of a call to setExpression
.
Added a settingsMenu
constructor option to the four-function and scientific calculators.
Added a brailleMode
constructor option and setting to the four-function and scientific calculators. This option allows persons using refreshable Braille displays to read and write equations using either the Nemeth or UEB math codes.
Added a sixKeyInput
constructor option and setting to the four-function and scientific calculators. This option allows users to write the six-dot Braille characters using the Home Row keys (S, D, F, J, K, and L).
Added a projectorMode
constructor option and setting to the four-function and scientific calculators.
Audio trace now works with tables and point lists.
Improved screen-reader support for movable points, especially points with dynamic labels.
Images can now be rotated by specifying an "angle" property in the expressions list.
Improved image stacking and added the ability to "background" an image.
Added more options for label positioning.
Smarter "home" zoom behavior for graphs with default states.
Improved error messaging. No more "Sorry, I don't understand this."
Added uniaxial scaling for non-touch devices.
Added the ability to shade the interiors of polygons and parametric curves.
Added a polygon
command that creates a polygon from a list of points, a comma-separated sequence
of point arguments, or two numeric lists.
Added more drawing style options for point lists in order to bring their behavior closer to that of table columns.
Added more flexibility in drawing styles for points and line table columns.
Added a quartile
function that uses the Moore and McCabe method in order to better align with
U.S. educational standards.
File Size (gzipped): 435kb
Added an invertedColors
constructor option and graph setting for all three calculators, which enables an inverted color scheme.
Deprecated the GraphingCalculator.focusedMathQuill
observable property. This feature may be removed in a future version.
Added a GraphingCalculator.expressionAnalysis
observable object that contains information about the calculator's evaluation of each expression.
Added methods to all calculators for moving through or clearing the undo/redo history.
Added a GraphingCalculator.getExpressions
method that returns an array of expression states.
Added a listValue
observable property to helper expressions that evaluate to lists.
Added a GraphingCalculator.asyncScreenshot
method that takes screenshots asynchronously for increased flexibility when needed.
The deprecated singleVariableSolutions
constructor option has been removed. The graphing calculator no longer displays solutions to single variable equations in the expression list.
File Size (gzipped): 417kb
imageUploadCallback
constructor option to allow custom storage of user-uploaded images. See image uploads for details.pasteGraphLink
constructor optionpasteTableData
constructor optioncalculator.setExpression
trace
[constructor option]((/api/v0.9/docs/index.html#document-calculator)links
constructor option to allow disabling external links in notes and folders, as well as links to help documentation in the expressions list for certain situations (like regressions with negative R2 values or plotted expressions with unresolved detail)secret
property via calculator.setExpression
. Secret expressions will be graphed (if applicable), but will not appear in the expressions list.graphReset
observable event.'change'
observable event to the BasicCalculator
s that fires any time the persisted state would change. It functions in the same way as for the graphing calculator.GraphingCalculator.setExpression
.Desmos.Styles
object that contains valid drawing styles.singleVariableSolutions
constructor option default to false
, and deprecated the option. It will be removed in future API versions.GraphingCalculator
and BasicCalculator
instances to unbind listeners and free resources.GraphingCalculator.getState
by eliding default settings and expression properties. In many cases, this reduces the size of saved states by more than 50%.autosize
constructor option to control automatic resizing behavior. Because this option is enabled by default, it is no longer required to call .resize()
when updating the calculator's dimensions.File Size (gzipped): 384kb
Desmos.Calculator
constructor renamed to Desmos.GraphingCalculator
. Desmos.Calculator
will be retained as a legacy alias indefinitely for backwards compatibility.calculator.setGraphSettings
in favor of calculator.updateSettings
. calculator.updateSettings
is now available as part of all three calculators.calculator.graphSettings
observable property to calculator.settings
. calculator.graphSettings
will be retained as a legacy alias for backwards compatibility.lang
URL parameter in the API script src. The language of a calculator instance can be set and updated using the calculator.updateSettings
function.colors
constructor option. Colors of existing states can be optionally remapped by passing the {remapColors: true}
option to calculator.setState
.calculator.setState
and calculator.setBlank
now clear the undo/redo history by default. To preserve the history after either operation, pass in an additional argument of {allowUndo: true}
.calculator.setDefaultState
method to allow replacing the "Delete All" button with a "Reset" button that sets a custom default state instead of the blank state.focusFirstExpression
method to all calculators to allow focusing the first expression.{preserveAxisNumbers: true}
option to calculator.screenshot
.degreeMode
constructor option to allow initializing the angle mode of a scientific or graphing calculator.unobserve
method.fontSize
property to updateSettings
.images
, folders
, and notes
constructor options to allow optionaly disabling images, folders, and notes.restrictedFunctions
constructor option to the graphing calculator that removes certain functionality that may not be allowed in some testing environments.qwertyKeyboard
constructor option to the graphing and scientific calculators that allow changing the QWERTY keyboard to an alphabetical layout to comply with requirements of certain testing environments.dragMode
property within Calculator.setExpression
.(1,2)
can now be made draggable by long-pressing their expression icon and selecting a drag mode.1/0
evaluates to undefined
instead of Infinity
.π/2
.File Size (gzipped): 467kb
change
event to the calculator that can be used to determine when a user's work should be persisted.{administerSecretFolders: true}
option, users will be allowed to create secret folders and see their contents. When loaded into a calculator with {administerSecretFolders: false}
(the default), secret folders are hidden from users, but their contents are still graphed, and any functions or variables defined in secret folders can still be used. This workflow is useful for creating activities that ask students to describe the properties of unknown functions.solutions
constructor option has been split into separate pointsOfInterest
and singleVariableSolutions
options.Name | v0.6 | v0.7 |
---|---|---|
Colors.RED | #c0504d | #c74440 |
Colors.BLUE | #4f81bd | #2d70b3 |
Colors.GREEN | #9bbb59 | #388c46 |
Colors.PURPLE | #8064a2 | #6042a6 |
Colors.ORANGE | #f79646 | #fa7e19 |
Colors.BLACK | #000000 | #000000 |
File Size (gzipped): 679kb
targetPixelRatio
option to calculator.screenshot
, which is useful for producing oversampled images that display well on high pixel density ("retina") screens. Defaults to 1. Previous versions of the API behaved as if this option was instead set to window.devicePixelRatio
, which meant that if the client was on a retina device, screenshots would actually have dimensions twice as large as specified.Desmos.Colors.next
method. Desmos.Colors is now just a list of the 6 hexidecimal colors that we use for graphs in the calculator.x^4 + y^4 < 1
.File Size (gzipped): 693kb
calculator.setExpression
by passing an expression object with type: 'table'
and a columns
property.sliderBounds
and domain
expression properties.calculator.mathToPixels
and calculator.pixelsToMath
, and observable property calculator.graphpaperBounds
for being notified when the math or pixel coordinates of the graphpaper boundaries change.calculator.setMathBounds
as a replacement for calculator.setViewport
to be consistent with calculator.graphpaperBounds.mathCoordinates
. Note that the argument to calculator.setMathBounds
is an object with top
, bottom
, left
, and right
properties, whereas the argument to calculator.setViewport
was an array with 4 elements. calculator.setViewport
is still available for backwards compatibility, but may be deprecated in a future version.calculator.setGraphSettings
and observe these properties through calculator.graphSettings
.calculator.removeSelected
method, and the calculator.isAnyExpressionSelected
observable property. Note that these methods are likely to be superseded by richer ways of manipulating (possibly multiple) selected expressions in the future.calculator.focusedMathQuill
observable property. This property gives access to the currently focused mathquill object when there is one, allowing direct use of the Mathquill API. Note that we are currently using the dev
branch of Mathquill
, which we expect will become master
before API v0.5 is stabilized.id
expression property became optional. calculator.setExpression({latex: 'y=x'})
is now a valid way to create a line, but note that it is not currently possible to manipulate an expression through the API after it is created unless an id is specified.total
, length
, mean
, median
, quantile
, mad
, stdev
, var
, cov
, and corr
.File Size (gzipped): 407kb
border
constructor option. We will now draw a gray border around the calculator by default, unless this option is set to false
.menus
constructor option. Use settingsMenu
and expressionsTopbar
instead.calculator.removeExpression
File Size (gzipped): 378kb
Graphpaper
to Calculator
.apiKey
url parameter.options
argument to Calculator
constructor with the following options (all true
/false
):
keypad
graphpaper
expressions
expressionsCollapsed
menus
zoomButtons
solutions
lockViewport
removeExpression
removeExpressions
screenshot
getState
setState
setBlank
Calculator.HelperExpression
.0 = f(x, y)
.