Welcome to the Graphing Calculator
You can use the Desmos Graphing Calculator to graph functions, plot tables of data, evaluate expressions, animate and create art, and much, much more!
If you have questions that aren’t answered here, please visit help.desmos.com or send us an email at support@desmos.com.
Get Started Graphing
When you visit the Graphing Calculator, you’ll find the expression list, where you can plot points, graph equations, evaluate expressions, and more. You’ll also find graph paper.
Adjust Graph Settings
Click Graph Settings or type Ctrl+Alt+G (Windows) or Ctrl+Cmd+G (Mac) to open the Graph Settings menu. From there, you can adjust the domain and range of the viewport, change or hide the grid, toggle on Complex Mode, switch between using radians and degrees for angles, and much more.
Learn more about graph settings in the Graphing Calculator.
Add New Items
Click below an existing expression line or press Enter from an existing expression line to add a new blank line. Click Add Item to add an expression, note, table, inference, folder, or image. Or, enter:
- Ctrl+Alt+X (Windows) or Ctrl+Cmd+X (Mac) to add an expression,
- Ctrl+Alt+O (Windows) or Ctrl+Cmd+O (Mac) to add a note,
- Ctrl+Alt+T (Windows) or Ctrl+Cmd+T (Mac) to add a table,
- Ctrl+Alt+F (Windows) or Ctrl+Cmd+F (Mac) to add a folder,
- or Ctrl+Alt+I (Windows) or Ctrl+Cmd+I (Mac) to add an image.
You can also type expressions and equations directly in the line. As an example, try typing \(\mathbf{y=2x-1}\).
Hide or Style an Item
Click the Color Icon or press Ctrl+Shift+O and then Enter to hide the item. Click the icon another time to show the item again.
Click and hold the Color Icon or press Ctrl+Shift+O to open the Style menu for a graphed item. From there, you can change the size and color of the item. Depending on the item, you might have other style options, too.
Use the Keypad
Click Show Keypad or press Alt+K (Windows) or Ctrl+K (Mac) to open the on-screen keypad. From there, you can select letters, numbers, symbols, and functions to add to your expression.
You can type everything on the keypad from your own keyboard. Press Ctrl+Forward Slash (/) to open the list of keyboard shortcuts. Or, click Help and then Keyboard Shortcuts.
Organize Your Items in Folders
If you’ve added a folder to an expression line, you can drag other expression lines into the folder to group them together. A gray grouping line will appear in expression lines to show that they belong to a folder. Once grouped, you can collapse or hide all items in a folder at once.
Explore a Graph
You can explore points of interest on a graph by using your mouse to click them or trace along a curve. On a keyboard, press Alt+T (Windows) or Option+T (Mac) and then H to hear the graph using audio trace. Audio trace is an accessibility feature in Desmos that you can use to hear the shape of a curve.
Log in, Save, and Share Your Graph
Create an Account
You can use the Graphing Calculator without logging in, but you need an account to save your graphs. If you press Save while signed out, you will be prompted to log in or create an account.
Click Sign Up to make an account with an email address or with Google or Apple. You can use this same account to log in to other Desmos tools.
Save Your Graph
The Save button will turn blue when you make changes to your graph.
Click Save or type Ctrl+S (Windows) or Cmd+S (Mac) to save your changes. If you’ve previously saved the graph you are working on, you can also select the More Options dropdown menu to rename or duplicate your graph.
Access Your Saved Graphs
To access all of your saved graphs, click Open File or type Ctrl+O (Windows) or Cmd+O (Mac). To open any of your saved graphs, click the file’s thumbnail. Or, use your arrow keys to find the thumbnail and then press Enter.
Share Your Graphs
Click Share Graph or press Ctrl+Alt+S (Windows) or Ctrl+Cmd+S (Mac) to share your work. From there, you can select Share a Snapshot or Save and Share This Graph. Select Share a Snapshot to share the graph in its current state. Recipients of your graph will not see any changes you save to the graph after you have shared the snapshot. Or, select Save and Share This Graph to generate a link that updates as you save new changes to your graph.
Organize Your Saved Graphs
You can organize your graphs by grouping them in folders. To create a new folder, first click Open File. Then, click the New Graph dropdown and select New Folder.
To add files to a folder, check the box on each file’s thumbnail. Then, drag them into the desired folder, or select Move Items to place them into the folder.
Gallery View
Once you have a folder of graphs, click the Folder Options dropdown and select Open Gallery View. The gallery will open in a separate tab. Select Share This Gallery to generate a link to send the collection to others.
Animate With Variables and Sliders
In the Graphing Calculator, you can use movable points and sliders to create interactive graphs and animations.
Add Sliders for Variables
You can use sliders to change the value of a parameter continually. Add a slider by typing a variable anywhere you might normally use a number.
For example, instead of having a line like \(y=2x+3\), you can make it dynamic by using variables instead of constants. Type \(\mathbf{y=mx+b}\) and then click Add Slider to add a slider for the values of \(m\) and \(b\) automatically. You can also type \(\mathbf{m}\) and \(\mathbf{b}\) in separate expression lines to define the sliders individually.
To adjust the limits and interval of your slider, click or tab to either of the values at the ends of the slider bar. Once you input your values, your graph will update automatically.
Animate the Slider
You can drag the slider to change the value of the parameter. You can also tab to the slider and then press the Left and Right Arrow keys to adjust the value.
Or, click Play , and the calculator will animate the parameters automatically.
Adjust the Animation
To adjust the animation, click Animation Properties , click and hold Play, or type Ctrl+Shift+O. From the menu, you can adjust your animation to loop forward and backward, repeat in one direction, play once or indefinitely, and increase or decrease in speed.
Make a Point Movable
You can make points movable in two ways.
If you define a point with a variable, you’ll be prompted to add a slider. Then, you can move that point by dragging it on the graph without changing any of its style options.
Or, click and hold the Color Icon or press Ctrl+Shift+O to open the Style menu for the point. From this menu, you can change the movement settings.
Shade With Restrictions and Inequalities
You can use inequalities to shade above or below lines and curves automatically.
Plot Inequalities
Strict inequalities are graphed as dashed lines. To create a strict inequality, type Less Than (<) or Greater Than (>) in an expression line.
Non-strict inequalities are graphed as solid lines. To create a non-strict inequality, type Less Than (<) and then an Equal Sign (=) to create the less than or equal to symbol (≤). Or, type Greater Than (>) and an Equal Sign (=) to create the greater than or equal to symbol (≥).
Use Inequalities in Restrictions
You can also use inequalities with restrictions to shade selected parts of your graph. To restrict the domain or range of your expressions, type the restriction at the end of an expression between curly brackets. For example, in \(y > x^2-2 \{y < 1\}\) the region is restricted to shade only the area where \(y < 1\).
You can shade between two curves. As an example, try typing \(\mathbf{x^2 ≤ y ≤ x}\).
Multiple Inequality Restrictions
For more precise control, combine multiple inequality restrictions. For example, \(x^2+y^2 ≤ 25\) shades the interior of a circle with a radius of \(5\).
Use and to require both restrictions: \(\{x > 0\) and \(y > 0\}\) shades only the portion of the circle where both \(x\) and \(y\) are positive.
Use or to require either restriction: \(\{x < 0\) or \(y < 0\}\) shades the portion where \(x\) is negative or \(y\) is negative.
Visualize Data With Tables and Lists
You can use both tables and lists in the Graphing Calculator to organize data.
With tables, you can organize ordered pairs, quickly plot points for a particular function, or even run regressions to find a line or curve of best fit.
With lists, you can populate the columns of a table, calculate the mean, median, or standard deviation of a data set, and more.
Create a Blank Table
To add a blank table, click Add Item and choose Table. Or, type table in an empty expression line. Or, press Ctrl+Alt+T (Windows) or Ctrl+Cmd+T (Mac) to add a table.
Type values into the table and use the arrow keys to maneuver through the rows and columns. Click Zoom Fit to adjust your graph axes to fit the data automatically. Or, press Shift+Alt+Z (Windows) or Shift+Option+Z (Mac) to zoom fit.
Click and hold the Color Icon or press Ctrl+Shift+O to open the Style menu and connect the points with lines or change their styling.
Create a Table From a Function or Point
You can also create a table of values to match a function or point(s). To do so, click Edit List or type Ctrl+Alt+D (Windows) or Ctrl+Option+D (Mac). If an expression line contains an applicable expression, the Create Table button
will appear. Select Create Table to add a table of values that match the expression line.
Use a List
You can make lists in the Graphing Calculator using square brackets \([ ].\) For example, you can type \(\mathbf{[1,2,7,10]}\) to make a four-element list with the values \(1, 2, 7,\) and \(10\). You can use lists anywhere in the calculator where you would enter a number.
Type an ellipsis (...) between elements to generate a list with evenly spaced elements. For example, \([1...10]\) will give you a list of all the integers between \(1\) and \(10\). As another example, \([1,3...11]\) will give you a list of all six odd numbers between \(1\) and \(11\).
If you compute using a list, the calculator will run the computation on each element of the list. For example, \([1...5]^2\) will give you the numbers \(1, 4, 9, 16, 25\).
Model With Regressions
The Graphing Calculator supports regression, which models the relationship between two sets of data.
Regressions From a Table
In order to run a regression, you’ll first need to organize your data into a table. For help with this, refer to the Visualize Data With Tables and Lists section of this guide.
Once you have your data in a table, click Add Regression or open the Options menu next to your \(y\)-variable. This will automatically add a linear regression below your table.
Click Linear Regression to open the dropdown menu and explore which regression model best fits your data.
Click Export a Snapshot to the Expression List to copy your regression equation to a separate line. Once the snapshot is in the expression list, you can define it as a function, substitute different variables, and test predictions based on your model.
To edit the regression model, first click Regression Options. Then select Export as Custom Regression. Or, you can create a standalone regression model directly in an expression line.
Custom Regression Models
For a custom regression model, type a Tilde (~) in place of the Equal Sign (=) in a new expression line. Then, type the regression equation you want to try. You can reference the data in your model by using your table's column names.
For example, \(y_1~a(x_1-h)^2+b\) can find a quadratic model in vertex form. The calculator will adjust every free parameter to find the best fit to the model given.
Practice With Regressions
To practice setting up a regression step-by-step, click Help or type Ctrl+Alt+H (Windows) or Ctrl+Cmd+H (Mac). Then, select the Regressions tour.
Inference
Use Desmos’s inference features to explore quantitative or categorical data with confidence intervals and significance tests.
Add an Inference Test
To get started, click Add Item and choose Inference. Or, type Inference in a blank expression line. Select the test you want to run, enter your data, and click Create Test. The test will appear as a new item in the expression list.
Test Types
Choose a test based on the type of data you’re working with. For quantitative (or numerical) data, you can run a one- or two-sample \(z-\)test or \(t-\)test with either raw data or summary statistics. For categorical data, you can run a one- or two-sample \(z-\)test for proportions, Chi-square test of independence, or Chi-square goodness of fit test.
Result Sections
After you create a test, the expression line will include multiple new sections.
The Confidence Interval section displays a range of plausible values for the population parameter. The confidence level defaults to \(0.95\). Click More on the diagram to export the lower bound, upper bound, point estimate, or standard error.
The Observed (Expected) section shows a table with the observed data alongside the expected values used in the test. You can toggle expected values, contributions to the test statistics, and totals.
The Significance Test section shows a significance diagram that includes the distribution for your test, the test statistic, degrees of freedom, and shaded \(p-\)values. For \(z-\)tests, \(t-\)tests, or \(z-\)tests for proportions, you can adjust the null hypothesis and toggle between tails options. Click More on the significance diagram to export the degrees of freedom, test statistic, and \(p-\)value. You can also export the significance diagram to display the diagram on the graph paper.
Recursion
A recursive sequence is defined when the value of a term depends on one or more other terms in the sequence. To write a recursive function, you need a recursive rule that relies on other terms and a base case.
Function Notation
Let’s consider a sequence whose first few terms are \(3, 5, 7, 9,\) and \(11\). The recursive rule is to add \(2\) to each previous term, and the sequence starts with a base case of \(3\). To represent this in function notation, first type \(\mathbf{f(n)=f(n-1) + 2}\) in an expression line. The \(f(n-1)\) term is used to refer to the previous term.
Once you type \(\mathbf{f(n-1)}\), an Add Base Case button will appear. Click it to add your base case to an expression line. Immediately, \(f(1)\) will default to \(f(1)=1.\) To match our sequence, change this to \(\mathbf{f(1)=3}\). To see the first five terms of your sequence, press Create Table .
Piecewise Notation
You can also use piecewise notation to represent anything you would represent using function notation.
Let’s use the Fibonacci sequence as an example. The first few terms are \(1, 1, 2, 3, 5,\) and \(8\). Each term is the sum of the two terms before it \(g(n)=g(n-1) + g(n-2)\). So, in this case, we need two base cases to begin the sequence: \(g(1)=1\) and \(g(2)=1\).
In piecewise notation, you can represent this sequence as \(g(n)=\{n=1:1, n=2:1, g(n-1) + g(n-2)\}\). This reads: “When \(n=1\), \(g(n)=1\). When \(n=2\), \(g(n)=1\). Otherwise, \(g(n)=g(n-1) + g(n-2)\).”
Complex Numbers
Complex numbers are written in the form \(a+bi\), where \(a\) is the real part, and \(b\) is the imaginary part. The imaginary number \(i\) is defined as the square root of \(-1\) (\(\sqrt{-1}\)), so \(i^2=-1\). To compute and graph with complex numbers in the Graphing Calculator, open the Graph Settings menu and then turn on Complex Mode.
Computing and Graphing With Complex Numbers
When you toggle on Complex Mode, the calculator will display all angles in radians.
In the expression list, you can add, subtract, multiply, and divide complex numbers. Each complex number is plotted as a point on the plane by converting to \((\)real\(()\), imag\(()\)\()\) where the \(x-\)coordinate represents the real part and the \(y-\)coordinate represents the imaginary part. You can label, drag, and style complex numbers, too.
Functions for Complex Numbers
| Function | Try typing... | This function plots or finds the... |
|---|---|---|
| real | real\(\mathbf{(2+4i)}\) | real part of a complex number. |
| imaginary | imag\(\mathbf{(2+4i)}\) | imaginary part of a complex number (multiple of \(i\)). |
| conjugate | conj\(\mathbf{(2+4i)}\) | complex conjugate by changing the sign of the imaginary part of a complex number. This is often used when dividing by complex numbers. |
| argument | arg\(\mathbf{(2+4i)}\) | angle inclined from the positive real axis to the line from the origin to the complex value. In Desmos, this angle is calculated in radians within the interval \((-\pi,\pi]\). |
| modulus, or absolute value | \(\mathbf{|2+4i|}\) | the distance between the origin and the complex value’s corresponding point. |
Matrices
Type matrix in a new expression line to generate a \(2×2\) matrix. Click and drag the corner of your matrix to add more rows and columns, or tab to the corner and then use your arrow keys to adjust.
If you’d like to specify the matrix dimensions, type \(\mathbf{\#ab}\), where \(a\) is the number of rows and \(b\) is the number of columns. Click, tab, or use your arrow keys to move between cells and fill in your own values.
Compute With Matrices
In the expression list, you can add, subtract, multiply, and find inverses of compatible matrices, and you can also multiply matrices by points to transform them.
Functions for Matrices
| Function | Try typing... | This function... |
|---|---|---|
| determinant | det\(\mathbf{(A)}\) | calculates the determinant of a square matrix. |
| trace | trace\(\mathbf{(A)}\) | calculates the sum of the diagonal of a square matrix. |
| reduced row echelon format | rref\(\mathbf{(A)}\) | reduces a matrix to row echelon form. |
| rank | rank\(\mathbf{(A)}\) | calculates the maximum number of linearly independent rows or columns of a matrix. |
| rows | rows\(\mathbf{(A)}\) | returns a list of row matrices. |
| columns | columns\(\mathbf{(A)}\) |
returns a list of column matrices. |
| transpose | \(\mathbf{A^{T}}\) | switches the rows and columns of a matrix. |
| matrix template |
matrix |
creates a \(2×2\) matrix. |
| hash |
\(\mathbf{\#24}\) |
creates a matrix with the given row and column dimensions. |
| semicolon |
\(\mathbf{A[2;4]}\) |
separates a matrix’s row and column dimensions when referencing a matrix element, column, or row. |
| inverse | \(\mathbf{A^{-1}}\) | finds the inverse of a non-singular, square matrix. |
Learn More
- Actions
- Accessibility
- Custom Colors
- Data Visualizations
- Desmos on Assessments
- Labels
- Lists
- Parametric Equations
- Polar Graphing
- Statistics
- Trigonometry
Please write in with any questions or feedback to support@desmos.com.
Translations
- Arabic Desmos User Guide (دليل المستعمل)
- Bulgarian Desmos User Guide (Ръководство за потребителя)
- Catalan Desmos User Guide (Guia de l’usuari)
- Traditional Chinese Desmos User Guide (使用手冊)
- Simplified Chinese Desmos User Guide (用户指南)
- French Desmos User Guide (Manuel de l’utilisateur)
- German Desmos User Guide (Benutzerhandbuch)
- Greek Desmos User Guide (Εγχειρίδιο Χρήστη)
- Italian Desmos User Guide (Guida per l’utente)
- Japanese Desmos User Guide (ユーザーガイド)
- Norwegian Desmos User Guide (Brukerveiledning)
- Polish Desmos User Guide (Przewodnik użytkownika)
- Slovenian Desmos User Guide (Priročnik za uporabo)
- Spanish Desmos User Guide (Guía del Usuario)
- Turkish Desmos User Guide (Kullanıcı Kılavuzu)
- Vietnamese Desmos User Guide (Hướng Dẫn Sử Dụng)