Graph Paper

Tips and Tricks

Graph Paper has a few features that are easy to miss because they live in the math syntax, keyboard behavior, or plot inference rules rather than in visible buttons.
For lists, points, colors, and a Desmos translation table, see the Plotting Guide.

Contents

Enter Math Efficiently

Use these when typing in a math cell.
GoalTypeNotes
Superscript^x^2 creates x^2. Use braces for longer exponents: x^{n+1}.
Subscript_a_n creates a_n. Braces work here too: a_{n+1}.
Root index^ in an empty rootType sqrt, then press ^ before entering the radicand to make an indexed root.
Move between scripts and limits↑ or ↓↓ from a superscript moves to the subscript; ↑ from a subscript moves back. This also works between sum/product limits.
Move through empty slotsTabUseful after fractions, roots, scripts, and grouped templates.
Leave a nested edit positionEscUseful when the cursor is inside a subexpression or source-style node.
Greek letters and common functionstype the nameTry alpha, theta, sqrt, sin, cos, or log before reaching for a symbol picker.
Scripts also auto-exit in common typing patterns. At the end of a non-empty superscript, =, <, >, :, or an unmatched closing fence leaves the superscript first, so (x^2) becomes (x^2) rather than putting the closing parenthesis in the exponent ((x^{2}), not (x^{2)}). A closing fence that balances one already inside the superscript stays there, so x^(n) becomes x^{(n)}.
For numeric exponents, + and - also exit: x^23+4 becomes x^{23}+4. If the exponent is not purely numeric, the operator stays in the exponent: x^a+2 becomes x^{a+2}. In ordinary subscripts, the first non-digit typed at the end exits the subscript; more digits stay in it. Root indexes behave the same way: after typing the index digits, the first non-digit moves into the radicand.
To enter several formulas at once, paste them, one per line, into an empty row of a plot, or click the plot and paste. Each line becomes a row, and one Undo removes them all. Plain-text math is read as the formula it means: sqrt(x^2 + 1), x**2, 2*pi*x, abs(x), x^2 + y^2 <= 1, and Greek letters by name (theta). A comment after #, or after // followed by two words or more, becomes a note above its row. A line that is not read as a formula stays as text, and the message after the paste says so. A single line pasted into a row is converted where the caret is.
Graph Paper has an on-screen virtual keyboard for inserting symbols, and you can drive every key from a physical keyboard — no mouse required. On a touch device it appears automatically; on a computer, show or hide it with Shift+Alt+Space (or Show Virtual Keyboard in the math menu).
Once it is showing, these keys move around it:
GoalKeysNotes
Show or hide the keyboardShift+Alt+SpaceAvailable whenever a math cell has focus.
Move focus onto the keyboardTabPress Tab in the formula when there is nothing left to step through — focus lands on the first key.
Move between keysarrow keys← → within a row, ↑ ↓ between rows; Home and End jump to the first and last key in the row.
Press the highlighted keyEnter or SpaceInserts that symbol into the formula, just like tapping it.
Open a key's alternativesAlt+↓Some keys hold related symbols — the set a long-press shows on a tablet. Arrow to one and press Enter; Esc closes them.
Return to the formulaShift+Tab or EscFocus jumps back to the math cell where you left off.
The highlighted key is outlined as you move, so you can always see where the next keystroke will land.

Keep Formulas Readable

Long formulas are easier to edit when you name the pieces that repeat. Use a semicolon block to define helper values before the expression that should be plotted:
p \coloneq \sqrt{x^2+y^2}; \frac{\sin(p)}{p}
The last expression in the block is the one Graph Paper plots. Earlier assignments are local helpers, so they do not become sliders or plotted variables.
You can also write the same idea with a where clause when it reads better:
(r\cos(u), r\sin(u), u) \text{ where } r \coloneq 2+\sin(u)
To share the same definition across several rows, use a named function:
f(x) \coloneq \sin(x)
Then later rows can refer to the function by name:
2f(x)+1
In a notebook's compute cells, you can also refer back to earlier results without naming them. Type % for the previous cell's answer, or %n for the answer of compute cell number n — the number shown on the cell's reference tag. So a cell can continue from the one above it with % + 1, or combine two earlier results with %1 + %2. A reference to a cell that has no answer yet is left pending rather than erroring.

Choose Plot Types With Syntax

Graph Paper infers the initial plot type from the variables and shape of the formula. These patterns are worth knowing because they are faster than fixing the type afterward.
PatternExampleLikely result
One free variablex^22D line
Explicit functiony = x^22D line
Two free variablesx+yimplicit curve
Equation in x and yx^2+y^2=1implicit curve
Inequality in x and yx^2+y^2<1implicit region
Tuple with one parameter(\cos(t), \sin(t))parametric curve
Three-part tuple with one parameter(\cos(t), \sin(t), t)3D parametric curve
Three-part tuple with two parameters(u, v, \sin(u v))3D parametric surface
Polar variable1+\cos(\theta)polar curve
Complex variablez^2+1domain coloring
To make the input variable explicit, use lambda syntax:
t \mapsto (\cos(t), \sin(t))

Control Domains

For parametric curves, polar curves, and surfaces, put domain constraints in a where clause instead of hiding them in the inspector:
(\sin(t), \cos(t)) \text{ where } 0 \le t \le \pi
One-sided bounds work too:
(\sin(t), \cos(t)) \text{ where } t \ge 0
A function like \tan(x) has vertical asymptotes that make the plot jump dramatically near \pi/2. Bounding the domain skips the trouble:
\tan(x) \text{ where } -1 \le x \le 1
Adaptive sampling also slows down on formulas with many features per unit. A finite range keeps interaction smooth while you iterate.
For parametric and polar curves, ranges that end on multiples of \pi produce clean closed shapes. Type pi in the bound rather than a decimal approximation:
(\cos(t), \sin(t)) \text{ where } 0 \le t \le 2\pi
The where clause controls the parameter range; the viewport controls the visible window. The two are independent — a wide viewport with a short parameter range shows the curve plus empty space around it.

Use Parameters and Sliders

Letters such as a, b, \mu, and \sigma are treated as parameters when they are not one of the conventional plot variables. This is useful for families of curves:
a x^2 + b x + c
For keeping helpers local rather than promoting them to sliders, see Keep Formulas Readable above.
Each of these parameters is its own variable cell with a slider. There are three ways to make one:
That last option lets you set the range or the exact values as you create it:
TypeWhat you get
k \in [1..10]a slider over the continuous range 1 to 10
0 \le k \le 10 or k \in [0, 10]a slider over the interval from 0 to 10
k \in [1, 3, 5, 7, 9]a slider that snaps through just those values
a = 12a constant: formulas use 12 for a. No slider.
A new slider starts at its lowest value. To make a slider for a, type its range instead of a value, for example 0 \le a \le 20, then drag the slider to 12.
A list of specific values — three or more — is read as a discrete set the slider steps through, and Graph Paper tidies the notation to braces: k \in \{1, 3, 5, 7, 9\}. Watch the boundary case: two numbers in square brackets are an interval, so [0, 5] means everything from 0 to 5, not the two values 0 and 5. For a two-value set, write the braces yourself: k \in \{0, 5\}.
Variable names can be any letter except the plot axes x, y and z. The letters t, u, v, \theta, \phi and r are the parameters of parametric and polar curves, but a slider can have one of these names too. Then every row that uses the name uses the slider's value: with a slider t, the row (\cos t, \sin t) draws no curve, because all its points use the same t. There is one exception: on the left side of a polar equation, r is the radius, so r = 2\cos\theta is still a polar curve when a slider is named r.
Sliders read better when their names match what they control. Compare
A \sin(\omega t + \phi)
with
a \sin(b t + c)
Both work, but the first labels the amplitude, frequency, and phase explicitly. Greek letters such as \omega and \phi are entered by typing the name (omega, phi). Keep names short enough to stay readable inside the formula.
When experimenting with parameter values, keep the base definition in its own row using a named function. Type := to assign:
f(x) \coloneq a x^2 + b x + c
Subsequent rows can then plot variations like f(x) + 1 or f(x - 2) without disturbing the base formula, which makes it easy to back out of a change.

Animate and Step Through Variables

Any variable with a range or a set of values has a play button next to its slider. Press it and the variable sweeps across its values while every plot that uses it updates live — a quick way to see how a curve responds to a parameter.
The variable's ⋯ menu sets how it plays:
ControlWhat it does
PlaybackRepeat sweeps back and forth (the default), Play Once runs a single pass, All at once draws every value together (value sets only).
SpeedHow long one pass takes, from 0.5 s to 16 s.
Show a whole family at once. For a variable with a set of values, All at once doesn't animate — it draws each plot once for every value, all at the same time, cycling through colors. That turns one formula into a family of curves. Give k a set of values and plot \sin(k x):
k \in [1, 3, 5, 7, 9]\sin(k x)
Switch k to All at once and all five sine curves appear together — the static counterpart to pressing play.

Drag Points on the Plot

A plotted point can be dragged when one of its coordinates is something a drag can change: a plain number typed in the cell, or a variable that has its own slider. A coordinate given by a formula locks its axis.
You typeDragging the point
(1, 2)moves it freely; the numbers in the cell are rewritten as you drag
(a, b) with sliders a and bmoves it freely; the sliders take the new values
(a, a^2)moves it along the curve: only a can change, and the second coordinate follows from the formula
(a, b) where a and b are defined nowherecreates a point controller: the point itself defines a and b for the rest of the document
A point controller is the quickest way to get a "handle" you can drag. Type (a, b) with two new letters, and every row that uses a or b follows the point. The cell shows each coordinate's value, so you can also type an exact number.
To limit dragging, open the cell's ⋯ menu and choose Draggable: Automatic, Horizontally, Vertically, or Not draggable. A point that moves horizontally only is a convenient way to pick an x value on a curve.

Change Values With Actions

Slider values do not have to be set by hand. An action is a row that changes one or more variables when it runs. Type -> to get \to:
a \to a + 1
Read it as "a becomes a + 1". When you finish typing, the cell turns into an action cell with a ⚡ button. Press it to run the action once. Every plot that uses a updates, and the change is undoable.
An action can change:
A number defined by a formula, such as b = 2a, cannot be changed by an action — edit the formula instead. If the name is not defined yet, the cell says "a is not defined" and offers to create the variable for you.
Change several values at once. Separate the steps with commas. All the new values are computed first, then written together, so this swaps a and b:
a \to b, b \to a
Each name can be written only once per action.
Name an action to reuse it. Give it a name like a function:
R = a \to 0, b \to 0
A cell that contains just R runs it, and other actions can call it by name. An action can take parameters — S(k) = a \to a + k — and is then called as S(2). A parametrized action has no ⚡ button of its own, because it needs an argument.
Make an action conditional. Use a cases block whose branches are actions. The first branch whose condition holds runs; the branch without a condition is the fallback:
\begin{cases} a \to a + 1 & a < 10 \\ a \to 0 \end{cases}
Without a fallback, an action whose conditions all fail does nothing.
Keep control of the cell type. If you meant an ordinary formula that happens to contain an arrow, choose Treat as equation in the cell's ⋯ menu. To make a cell an action before its content is complete, choose Action from the / menu. A variable cell's ⋯ menu has Add Action…, which inserts an action below it, ready to edit.

Repeat an Action on a Timer

Every action cell also has a ▶ button. Press it and the action runs again and again — a counter counts up, a point walks across the plot, a simulation steps forward. Press it again to pause. While the action repeats, undo is unavailable; it comes back when you pause.
To set how often it runs, select the action cell with the inspector open. The Interval section sets the number of milliseconds between runs. Intervals below 16 ms are raised to 16 ms, one screen frame.
When you pause, you can either keep the current values or choose Discard run, which restores every value to what it was before you pressed ▶.
Inside a repeating action, type dt to get \mathrm{dt}, the number of milliseconds since the previous run. Multiply a speed by it to move at a steady rate whatever the interval:
x_1 \to x_1 + v \cdot \frac{\mathrm{dt}}{1000}
A named action does not see \mathrm{dt} on its own; pass it as an argument, as in M(dt) with M(s) = x_1 \to x_1 + v s / 1000.
Several actions can repeat at the same time, but two of them cannot change the same list at once. The second one refuses to start and names the conflict.

Run an Action When You Click the Plot

A point, a polygon, or any other plotted object can carry its own action, which runs when you click that object on the plot. Open the cell's ⋯ menu and choose On click…. The inspector opens at the On click section; type the action there, for example a \to a + 1. The cell shows a ⚡ chip to mark that it has a click action, and the object shows a pointer cursor on hover.
This is how to build buttons: plot a point with a label such as "Reset" and give it the click action R, a named action that resets your variables.
Know which element was clicked. When the clicked object comes from a list — a list of points, or a polygon drawn once per entry of a list — type index to get \mathrm{index}, the position of the clicked element, counting from 1. Store it in a variable and other rows can react to it:
n \to \mathrm{index}
With P a list of points, a row such as P[n] then draws the selected point, and you can style it differently from the rest.
A click is a press without movement: if the object is a draggable point, a drag moves it and a click runs the action. Hidden objects are not clickable, and click actions respond to the pointer only, not to the keyboard.

Plot a Family From a List

Wherever a formula expects a number, you can give it a list, and Graph Paper draws one curve per element. Define R = [1...5] and plot x^2 + y^2 = R^2 to get five concentric circles; define k = [1, 2, 3] and plot \sin(k x) to get three sine curves. The Plotting Guide covers list notation in full; these are the patterns that matter for plots.
You typeYou get
R = [1...5] then x^2 + y^2 = R^2five concentric circles
k = [1, 2, 3] then \sin(k x)three sine curves
A = [1, 2, 3] then (A \cos(t), A \sin(t))three circles of radius 1, 2 and 3
L = [1, 2, 3] then (L, L^2)three points
Two lists in one formula pair up element by element, so (L, L^2) gives three points rather than every combination of an x from L with a y from L^2.
A named list is better than a literal inside a long formula: it can be reused across rows, and an action can change it (see Change Values With Actions).
Color each member differently. With the row selected and the inspector open, choose Formula in the Color section and enter a color expression. For a family of curves, give a list of colors with one entry per member. On a list of points, type index to get \mathrm{index}, the point's position counting from 1, so \operatorname{hsv}(72 \cdot \mathrm{index}, 1, 1) gives five points five evenly spaced hues. On a parametric curve the formula can use the parameter itself, so the color changes along the curve.
Label each point. A point label can embed a value with ${a}. On a list of points, a list-valued name broadcasts one entry per point: with L = [10, 20, 30], the label ${L} reads 10 on the first point, 20 on the second, and 30 on the third. Only a plain name goes inside the braces, not a formula.

Fit a Formula to Data

To fit a curve to data, write the model with a tilde instead of an equals sign. Type ~ to get \sim. Given two lists, or two columns of a table, named X and Y:
Y \sim a X + b
The cell becomes a solver cell. Graph Paper finds the values of a and b that fit best and shows them as chips under the relation, updating live as the data changes. Any letter that is not data, not a plot variable, and not already defined by another row is a parameter to fit; a name that already has a slider or a definition keeps its value and is not fitted. So an exponential fit is just as short:
Y \sim a e^{b X}
The fitted names are available to every other row, so add a x + b to draw the fitted line over the points.
If the fit does not converge, the cell shows a badge saying so. Choose Re-solve in the cell's ⋯ menu to try again from the current values, for example after editing the data. To keep a ~ row as an ordinary relation, choose Treat as equation; to make a solver cell before its content is complete, choose Solver from the / menu.

Go Beyond Plain Expressions

For piecewise formulas, use a cases expression:
\begin{cases} x^2 & x < 0 \\ x & x \ge 0 \end{cases}
For repeated sums and products, use mathematical notation instead of expanding the terms by hand:
\sum_{k=1}^{n} k\prod_{k=1}^{n} k
The index variable in a sum or product is local to the expression. In
\sum_{k=1}^{n} k^2
k is bound by the sum and does not become a slider — only n does. Avoid reusing the index name as a parameter in the same row.
For piecewise formulas, factor repeated expressions into a named helper above so the cases stay readable:
g(x) \coloneq \sqrt{1 + x^2}\begin{cases} g(x) & x \ge 0 \\ -g(x) & x < 0 \end{cases}
Finite upper limits matter when each term is expensive to evaluate. While exploring, start with a small upper limit (10 or 100) and raise it only once the shape is right — a sum with thousands of terms can make panning sluggish.

Work with Tables and Data

Use tables when the data is the source of truth and formulas when the pattern is the source of truth.
Paste rectangular data straight from a spreadsheet into a table cell. The column structure is preserved, and the first row is treated as column names when it contains text rather than numbers.
The same table can be plotted in different ways depending on what the data represents:
DataPlot type
Paired (x, y) valuesScatter
Categorical countsBar
A single distributionHistogram or box plot
Open / high / low / closeCandlestick
Switch between these from the table's plot type control; the underlying data does not change.
Column names appear in legends and tooltips, so name columns by what they represent — age, score, temperature — rather than col1, col2. The names are easier to interpret later when you come back to the document.
If a column is computed from others by a simple formula, a formula row can be a cleaner fit than a computed column. The data table stays as the source of truth, and the derivation lives alongside it where it can be edited independently.

Add Notes, Labels, and Explanations

Markdown cells and plot labels can carry more than plain text. Use them for short derivations, definitions, and annotations that should stay next to the graph.
Inline math uses single dollar signs, like a^2+b^2=c^2. Display math uses double dollar signs:
\int_0^1 x^2\,dx = \frac{1}{3}
A short markdown cell above a group of formulas acts as a heading or explanation, making the document easier to scan later. Use it to state what question the formulas below are answering, especially when you might come back to the document weeks later.
Markdown links work the same as elsewhere: [Wikipedia](https://...). They are useful for citing a source or linking to a related document in the library.
Curve and point labels can carry the analysis with them. A label like
regression: slope 1.27, R^2 = 0.94
is more useful next to the curve than buried in a separate note. Treat labels as data, though — keep them consistent with the formula they describe, and update them when the formula changes.

Organize Your Documents

A handful of features keep a growing collection of documents easy to navigate.
Folders group related documents and can be nested up to ten levels deep. A document or folder lives in exactly one place at a time; dragging it onto a folder card moves it there.
Dock shortcuts. To keep a folder one click away, add it to the Dock: open the folder's ⋯ menu and choose Add to the Dock, or drag the folder's card onto the Dock at the bottom of the Library. Docked folders stay in the Dock for quick navigation; drag them to reorder, or drag one out (or choose Remove from the Dock) to remove it. Only folders can be docked.
Tags are short labels you can attach to documents or folders. To add or edit tags, open the document-info popup or double-click the tag row on a card (double-tap on touch). Tags are personal — each viewer has their own set, so tagging a shared item never affects what someone else sees. To see every item carrying a given label, group the Library view by tag. An item with multiple tags appears in every matching group. You can also tag while renaming: type a #hashtag anywhere in a document or folder's name and it becomes a tag once you finish — the #word is stripped from the title and the tag is added to whatever tags the item already has. Tags aren't case-sensitive, so typing #Blue when a blue tag already exists adds nothing. For a tag that needs spaces or symbols, wrap it in quotes: #"first draft" or #"c++".
Archive. Finished with a course, a project, or last term's worksheets? Archive them. Archived items disappear from Home and from the main library search, but they are not deleted — they live in the Archive section indefinitely, fully restorable. To search archived items, open the Archive section and search there; the scope switches to archived items automatically.
Search. The search field at the top of the Library matches documents and folders by title. To limit the search to the current folder, use the scope chip next to the search field.
Document info popup. To see or edit a document's title and tags without opening it, click the "i" button on its card. The popup shows the title, tags, save status, creation date, and — for shared documents — the owner.

Share Documents and Folders

Every document has a URL — the address shown in the browser bar when you have it open. That URL is the share link: the Copy Link button in the Share dialog copies exactly that URL to your clipboard, the same string you could grab from the address bar yourself. Sharing that link with someone gives them whatever access you have set up in the Share dialog.
Access can be set in three ways, and they can be combined:
View-only collaborators see the document in read-only mode — they can pan and explore plots but not change formulas. Edit collaborators can modify the document and also manage the collaborator list.
ActionOwnerEdit collaboratorView collaborator
Edit the contents of a document✓✓—
Add or remove collaborators✓✓—
Trash, archive, or restore items inside a shared folder✓✓—
Duplicate a document in place✓✓—
Move items into a shared folder✓✓—
Rename, trash, archive, or delete the shared folder itself✓——
Make a document or folder public, set a password✓——
Transfer or change ownership✓——
A few details worth knowing about edit access:

Share an Entire Folder

Sharing settings on a folder apply to every document inside, including ones you add later. If you share a folder with a colleague at edit-access, every document in that folder is editable by them, and a worksheet you drop into the folder tomorrow inherits the same access automatically.
When a folder is public, the documents inside don't show their own public-access toggle in the share dialog — instead the dialog shows "Public via folder X," because the folder is the source of truth. To make a single document private, move it out of the public folder.
A shared folder cannot itself live inside another shared folder, so you won't run into nested sharing conflicts at the folder level. The one case to be aware of is mixing a public link with collaborator-restricted sharing. If a folder is shared only with named collaborators, but a document inside that folder has its own public link, the public link still works for anyone who has the URL — even people who aren't on the folder's collaborator list. Whenever you publish a public link, treat it as the broader access path; it isn't restricted by the folder above it.

Find Items Shared with You

When someone shares a folder or document with you, it appears in your Shared section at the top of the Library. Shared folders always live there — you cannot file them into your own folders, because their location is set by their owner. (You can add them to the Dock and tag them, which is personal to you.)

Remove a Collaborator

Removing a collaborator takes effect immediately, even if they have the document open at the time: their live session is disconnected and they lose access on the spot. Pending invitations (people you've invited who haven't yet accepted) can be cancelled the same way; they will not be notified.

Work Together in Real Time

When a document is shared and more than one signed-in person has it open, you work on it together live: everyone sees the same document change as it happens, with no save step and no overwriting each other. (Anonymous visitors who open a public read-only link don't join the session — they see the document, but not each other.)
See who's here. A row of avatars in the header shows who's around — yours is first. When two or more of you are in the document at once, a small colored bar under an avatar marks who is present right now; people who have access but aren't currently in the document appear greyed out. Each person keeps the same color throughout — on their avatar, on their cursor, and on their pointer over a plot — so you can tell at a glance whose is whose. If more people are present than fit, a +N badge gathers the rest; hover it to see their names. While the session is connecting or reconnecting, the whole row gently pulses.
Jump to what someone is doing. Click a present collaborator's avatar to scroll to the cell they are editing. Clicking anywhere else on the avatar row opens the Share dialog, so the people and the sharing settings stay one click apart.
Follow each other's work. While someone edits a cell, a colored marker labeled with their name appears on that cell's row. On a 2D plot, a small pointer carrying their name shows where they are pointing. The pointer tracks the underlying data point, so it lands in the right place even when you and they are panned or zoomed differently — and it simply disappears when it falls outside your view (and during 3D plots).
Edits merge cleanly. Changes appear for everyone the moment they are made, and Graph Paper merges simultaneous edits automatically — two people can work on different rows at the same time without clobbering each other. Undo is personal: it steps back through your changes only and never reverts a collaborator's work.
Dropouts heal themselves. If your connection drops, the avatar row pulses while Graph Paper reconnects on its own, and the edits you made in the meantime are held locally and merge back in once you are reconnected — no reload or re-share needed.
View-only collaborators are in the session too. Someone with view-only access sees everyone's presence, cursors, and live changes, and can pan and explore the plots on their own — they just can't change the formulas. Removing a collaborator ends their live session immediately (see Remove a Collaborator above).

Keep Your Work Safe

Delete and Recover Items

Deleting a document moves it to the Trash section — it is not gone right away. To bring a deleted document back, open Trash and restore it; it returns to its original location. To remove everything for good, empty Trash.
Deleting a folder moves the folder and every document inside it to Trash. The folder appears at the Trash root, and you can open it there to see exactly what was deleted. Restoring the folder brings back the folder and everything that was deleted along with it.
A document that you trashed individually before the folder was trashed keeps its own deletion timestamp — restoring the parent folder won't bring it back, so it stays in Trash until you restore it separately or empty Trash.
Items in Trash are kept for 30 days, then permanently deleted automatically. You can also empty Trash manually at any time. Permanent deletion is one-way: once an item is removed there is no recovery.

Back Up Your Library

Graph Paper keeps your documents safe in the cloud, but for a long-term safety net against catastrophic loss — an account problem, a regretted bulk deletion, anything that would otherwise be unrecoverable — you can download all your documents as a single file from the Account page. Treat it as a periodic snapshot of your library that lives outside Graph Paper, like any other backup.
To restore from a snapshot, use Restore documents on the Account page. Restoring never overwrites: existing documents are kept as-is, and only documents that are not already in your account are imported.

Edit Online and Offline

While you are signed in, every change is saved to the cloud as you make it — there is no Save button.
If you temporarily lose your internet connection, recent changes are kept locally and sync to your account when you are back online. The local buffer is small, though, so this works best when you stick to one or two documents at a time. Editing many different documents while offline can exceed the buffer, and the oldest unsaved work may not all sync.
Editing without signing in is a different story. Anonymous edits live in the editor for the current page only — reloading the page or closing the browser loses them, and signing in afterwards does not bring them back. To keep what you have made, sign in first.

Fix a Plot That Looks Wrong

Check these before rewriting the formula.
SymptomThings to check
The plot is emptyViewport range, finite domain bounds, and whether the expression is undefined in the visible region.
The wrong plot type appearsWhether the formula has one variable, two variables, a tuple, an equality, or an inequality.
A parameter became a plotted variableRename it away from conventional plot variables such as x, y, z, t, u, v, theta, phi, and r.
A helper became a sliderDefine it inside the same expression with := or a where clause.
A parametric curve has too much or too little of the pathAdd a where clause with explicit bounds.
An action does nothingIts target is defined by a formula, or a condition in a cases block did not match and there is no fallback.
A cell became an action or a solver by mistakeChoose Treat as equation in the cell's ⋯ menu.
A click on a point does not run its actionThe gesture moved (that is a drag), the object is hidden, or the cell's ⚡ chip shows an error.

Get More Help

Visit Support or email [email protected].