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
- Navigate the Virtual Keyboard
- Keep Formulas Readable
- Choose Plot Types With Syntax
- Control Domains
- Use Parameters and Sliders
- Animate and Step Through Variables
- Drag Points on the Plot
- Change Values With Actions
- Repeat an Action on a Timer
- Run an Action When You Click the Plot
- Plot a Family From a List
- Fit a Formula to Data
- Go Beyond Plain Expressions
- Work with Tables and Data
- Add Notes, Labels, and Explanations
- Organize Your Documents
- Share Documents and Folders
- Work Together in Real Time
- Keep Your Work Safe
- Fix a Plot That Looks Wrong
- Get More Help
Enter Math Efficiently
Use these when typing in a math cell.
| Goal | Type | Notes |
|---|---|---|
| Superscript | ^ | x^2 creates |
| Subscript | _ | a_n creates |
| Root index | ^ in an empty root | Type 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 slots | Tab | Useful after fractions, roots, scripts, and grouped templates. |
| Leave a nested edit position | Esc | Useful when the cursor is inside a subexpression or source-style node. |
| Greek letters and common functions | type the name | Try 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.
Navigate the Virtual Keyboard
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:
| Goal | Keys | Notes |
|---|---|---|
| Show or hide the keyboard | Shift+Alt+Space | Available whenever a math cell has focus. |
| Move focus onto the keyboard | Tab | Press Tab in the formula when there is nothing left to step through — focus lands on the first key. |
| Move between keys | arrow keys | ← → within a row, ↑ ↓ between rows; Home and End jump to the first and last key in the row. |
| Press the highlighted key | Enter or Space | Inserts that symbol into the formula, just like tapping it. |
| Open a key's alternatives | Alt+↓ | 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 formula | Shift+Tab or Esc | Focus 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:
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:
To share the same definition across several rows, use a named function:
Then later rows can refer to the function by name:
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.
| Pattern | Example | Likely result |
|---|---|---|
| One free variable | x^2 | 2D line |
| Explicit function | y = x^2 | 2D line |
| Two free variables | x+y | implicit curve |
| Equation in x and y | x^2+y^2=1 | implicit curve |
| Inequality in x and y | x^2+y^2<1 | implicit 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 variable | 1+\cos(\theta) | polar curve |
| Complex variable | z^2+1 | domain coloring |
To make the input variable explicit, use lambda syntax:
Control Domains
For parametric curves, polar curves, and surfaces, put domain constraints in a
where clause instead of hiding them in the inspector:
One-sided bounds work too:
A function like \tan(x) has vertical asymptotes that make the plot jump
dramatically near \pi/2 . Bounding the domain skips the trouble:
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:
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:
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:
- Reference a new letter in a formula. Typing a x^2 + b x + c offers Add variables a, b, c? — accept and each becomes a slider from 1 to 10.
- Use Add Variable in the sidebar to create one directly.
- Type a declaration in a math cell — it converts to a variable on its own.
That last option lets you set the range or the exact values as you create it:
| Type | What 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 = 12 | a constant: formulas use 12 for |
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
with
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:
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:
| Control | What it does |
|---|---|
| Playback | Repeat sweeps back and forth (the default), Play Once runs a single pass, All at once draws every value together (value sets only). |
| Speed | How 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) :
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 type | Dragging the point |
|---|---|
| (1, 2) | moves it freely; the numbers in the cell are rewritten as you drag |
| (a, b) with sliders a and b | moves 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 nowhere | creates 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 :
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 variable that has a slider, or a coordinate of a point controller;
- a list defined by its values, such as L = [1, 2, 3], or a named point such as P = (3, 4).
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:
Each name can be written only once per action.
Name an action to reuse it. Give it a name like a function:
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:
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:
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:
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 type | You get |
|---|---|
| R = [1...5] then x^2 + y^2 = R^2 | five 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:
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:
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:
For repeated sums and products, use mathematical notation instead of expanding
the terms by hand:
The index variable in a sum or product is local to the expression. In
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:
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:
| Data | Plot type |
|---|---|
| Paired | Scatter |
| Categorical counts | Bar |
| A single distribution | Histogram or box plot |
| Open / high / low / close | Candlestick |
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:
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:
- Public — anyone with the link can open the document in read-only mode. Useful for one-off sharing or embedding in a class page.
- Public with password — the same link, but a password is required to open the document. Use this when you want broad sharing without making the document fully open.
- Collaborators — specific people, identified by their account. They must be signed in to see the document. Each collaborator can be authorized for either view-only or edit access.
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.
| Action | Owner | Edit collaborator | View 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:
- An edit collaborator on a folder has full edit rights on every document inside the folder, including documents added later. They can also create new documents and move them into the shared folder.
- The shared folder itself is protected: even an edit collaborator cannot rename it, move it to Trash, or delete it. Those actions are reserved for the owner.
- Tags are personal (see Tags above), so the tags you apply on a shared document never affect what your collaborators see — and theirs never affect what you see.
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.
| Symptom | Things to check |
|---|---|
| The plot is empty | Viewport range, finite domain bounds, and whether the expression is undefined in the visible region. |
| The wrong plot type appears | Whether the formula has one variable, two variables, a tuple, an equality, or an inequality. |
| A parameter became a plotted variable | Rename it away from conventional plot variables such as x, y, z, t, u, v, theta, phi, and r. |
| A helper became a slider | Define it inside the same expression with := or a where clause. |
| A parametric curve has too much or too little of the path | Add a where clause with explicit bounds. |
| An action does nothing | Its 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 mistake | Choose Treat as equation in the cell's ⋯ menu. |
| A click on a point does not run its action | The 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].