PanPhyPlotManual

PanPhyPlot · User guide

From readings to a fitted graph

Follow one pendulum experiment from repeat readings to a result you can save and share.

Prefer to learn inside the app? Take the guided tour using practice data.

Your first graph

Work through these six steps in order. Screenshots match your theme; select one to enlarge it here.

Step 1 of 6

Load the sample data

  1. Open PanPhyPlot in a new tab, so you can keep this guide beside it.
  2. On an empty sheet, choose Try sample data. If you already have readings, use + to add an empty sheet first.
  3. Find Data, the graph, and the Series and Fit cards. On narrower screens the cards sit below the graph.
What you should see

The Pendulum sheet contains length L and three period readings, T1, T2 and T3. Three colored series appear on the graph.

PanPhyPlot with pendulum readings in Data, a graph of period against length, and the Series, Fit and Result cards. Enlarge screenshot PanPhyPlot with pendulum readings in Data, a graph of period against length, and the Series, Fit and Result cards. Enlarge screenshot
The workspace. Readings, graph and fitting controls. Enlarge the image to inspect a control.

Step 2 of 6

Combine the repeat readings

  1. Choose Mean in the toolbar.
  2. Keep T1, T2 and T3 selected.
  3. Keep both options ticked: add the half-spread uncertainty and hide the repeat readings.
  4. Choose Add Mean.
What you should see

Two columns appear: T, the mean period, and ΔT, its uncertainty. The graph now shows the mean; the three original series are hidden.

Mean of repeats dialog with T1, T2 and T3 selected, half-spread uncertainty enabled, and Hide the repeat readings on the graph enabled. Enlarge screenshot Mean of repeats dialog with T1, T2 and T3 selected, half-spread uncertainty enabled, and Hide the repeat readings on the graph enabled. Enlarge screenshot
Mean of repeats. Select all three readings and keep both options enabled.

Step 3 of 6

Calculate the period squared

  1. Choose Formula in the toolbar.
  2. Enter T^2 as the formula and column name, and s^2 as the unit.
  3. Tick Add a ±Δ column.
  4. Check the first-row preview, then choose Apply.
What you should see

T² and its uncertainty are added. The first row gives 0.810 ± 0.018 s². The new cells are calculated automatically.

Formula dialog with T^2, column name T^2, unit s^2, uncertainty propagation enabled, and a first-row preview of 0.81 plus or minus 0.018. Enlarge screenshot Formula dialog with T^2, column name T^2, unit s^2, uncertainty propagation enabled, and a first-row preview of 0.81 plus or minus 0.018. Enlarge screenshot
Formula column. The preview checks the value and its propagated uncertainty before you apply it.
Check the four calculated columns

You should now have these four columns after the original readings. Formula cells are shaded and follow any changes to your data.

Column Contains First row
T Mean period 0.900 s
ΔT Half-spread uncertainty 0.010 s
T² Period squared 0.810 s²
ΔT² Propagated uncertainty 0.018 s²
Processed pendulum table showing L, T1, T2, T3, mean T, uncertainty ΔT, T^2 and uncertainty ΔT^2, with X, Y and ±ΔY roles. Enlarge screenshot Processed pendulum table showing L, T1, T2, T3, mean T, uncertainty ΔT, T^2 and uncertainty ΔT^2, with X, Y and ±ΔY roles. Enlarge screenshot
The completed sheet. Enlarge this image and choose Actual size to inspect individual readings.

Want to use another expression? See formula syntax and uncertainty propagation.

Step 4 of 6

Fit a straight line

  1. In Series, click the T against L row to hide the mean period. Leave T^2 against L visible.
  2. In Fit, select T^2 against L.
  3. Choose Basic → Linear.
  4. Turn on Weight by uncertainties.
  5. Choose Fit Curve.
What you should see

A straight line appears on the T² against L graph, and the Result card shows the fitted equation and parameters.

Fit card with T^2 against L selected, Basic tab, Linear model, Fit Curve button, and Weight by uncertainties switched on. Enlarge screenshot Fit card with T^2 against L selected, Basic tab, Linear model, Fit Curve button, and Weight by uncertainties switched on. Enlarge screenshot
Fit setup. The squared period is selected, with a linear model and uncertainty weighting.

Step 5 of 6

Read the result

  1. Find the Result card.
  2. Read m, the slope, and c, the intercept, with their ± uncertainties.
  3. Use the decimal buttons below the equation to change its displayed precision.
  4. Tap a ? beside a fit-quality measure for an explanation.
What you should see

For this sample, m is about 4.02 ± 0.04 and R² is close to 1. The points lie close to the line. The low χ²/ν also flags that the uncertainty estimates are generous.

Result card showing a fitted linear equation, slope and intercept with uncertainties, R squared, chi squared per degree of freedom and RMSE. Enlarge screenshot Result card showing a fitted linear equation, slope and intercept with uncertainties, R squared, chi squared per degree of freedom and RMSE. Enlarge screenshot
Result card. Equation, parameters with uncertainties, and fit-quality measures.
Check the graph and residuals

Expand Residuals below the graph. These are the differences between the measurements and the fitted line. Look for scatter around zero; a curved pattern suggests trying another model. Drag the divider above the residuals to adjust the split height, or focus it and use Up/Down. Double-click or press Enter to reset the height.

Graph of T squared against L with a fitted straight line, error bars, and an expanded residual plot below. Enlarge screenshot Graph of T squared against L with a fitted straight line, error bars, and an expanded residual plot below. Enlarge screenshot
The fitted graph and residuals. The sample points sit close to the line; the residuals show their small differences from it.

See Reading a fit for the meaning of the parameters and quality measures, and how the pendulum slope gives g.

Step 6 of 6

Save or copy your work

  1. Choose Save in the toolbar to download an editable .ppplot project.
  2. To copy the readings into a report, choose Table, then select Copy for Spreadsheet or Copy as Image.
  3. For a graph image, use the camera button on the graph.
What you should see

The .ppplot file preserves your data, formulas and fits. You can use Open to continue on another device; copied tables and graph images are ready for a report.

View Table dialog with the pendulum readings and calculated values alongside their uncertainties, plus Copy for Spreadsheet, Copy as Image, Copy Markdown and Copy LaTeX buttons. Enlarge screenshot View Table dialog with the pendulum readings and calculated values alongside their uncertainties, plus Copy for Spreadsheet, Copy as Image, Copy Markdown and Copy LaTeX buttons. Enlarge screenshot
View Table. Values are paired with their uncertainties, with several copy formats.

Reference

Open a topic when you need more detail. These sections cover other workflows, shortcuts and the physics behind the results.

Sheets and columns

Each tab in the top bar is a sheet: use one sheet for each experiment. Tap + to add a sheet, tap the open sheet's name to rename it, and tap × to remove it. An empty sheet offers Try sample data: a pendulum experiment to explore.

A sheet is a table with as many columns as you need. Every column has a letter (A, B, C…), a name and a unit. Axis titles are built from them in the form name / unit, for example L / m.

On a computer or a landscape tablet, drag the thin handle between two panes to make one wider; near its starting position it snaps back onto it. With the handle selected, the arrow keys also resize it, and a double-click or Enter resets it. To widen a column of the table, drag the right edge of its heading; double-click the edge for the default width.

The button at the top right of the Data or graph section maximizes it, covering the other columns. The same button, now pointing inwards, or Esc puts it back.

The ⋯ button on a column heading moves, inserts, fills, clears or deletes the column, or gives it a formula. The row number on the left inserts or deletes a row.

Clear, at the right of the toolbar, offers two choices. Clear data, keep columns empties every cell and removes the sheet's fits, but keeps the names, units, roles and formulas, ready for a repeat of the experiment. Reset to a blank sheet goes back to a new sheet: two columns, x and y, and no name, so its tab shows its default name, such as Sheet 2. Both choices reset the zoom and axis ranges to automatic scaling, including zero.

Clear dialog offering Clear data, keep columns and Reset to a blank sheet, with a Cancel button. Enlarge screenshot Clear dialog offering Clear data, keep columns and Reset to a blank sheet, with a Cancel button. Enlarge screenshot
Clearing or starting again. Keep the columns for another run, or reset to a blank x–y sheet. Both choices remove this sheet’s fits and reset the advanced starting parameters.
Column roles

The colored chip at the top of each column sets its role:

Role Meaning
X Values for the horizontal axis.
Y Values for the vertical axis. Each Y column is one series on the graph.
±ΔX, ±ΔX % The uncertainty in an X column, absolute or as a percentage.
±ΔY, ±ΔY % The uncertainty in a Y column, absolute or as a percentage.
Ignore Kept in the table, but not plotted.

Columns are paired by position, as in OriginPro:

  • A Y column plots against the nearest X column to its left.
  • A ±ΔY column belongs to the nearest Y column to its left.
  • A ±ΔX column belongs to the nearest X column to its left.

So this sheet gives two series, T1 and T2 against L, with error bars on T2 only:

XYY±ΔY— L / mT1 / sT2 / sΔT2 / s

A second X column further right starts a new group: the Y columns after it plot against it. To change the pairing, drag a column by its letter (⠿ B) and drop it where the line shows; the table scrolls if you drag to its edge. Move left and Move right in a column's ⋯ menu do the same one step at a time. Formulas that use column letters follow the columns they refer to.

Entering data

Typing

Tap a cell and type a number such as 1.25, -0.4 or 3e-5. Arrow keys and Enter move between cells, and Enter on the last row adds a row. Commas and units in a cell are not numbers: the cell turns red, is kept, and is left out of the graph.

To give every reading the same uncertainty, such as ±0.05 s, add a ±ΔY column and use Fill with one value… from its ⋯ menu. It fills only the rows that have a reading in the column the uncertainty belongs to, and says how many before it does; rows without a reading stay empty. If you add readings later, fill the column again. For a column that is not an uncertainty, it fills the rows that have any data.

Pasting from a spreadsheet

Copy a block of cells in a spreadsheet, tap the cell where it should start and paste. Rows and columns are added as needed. If you paste into the top row and the first row of the block is text, such as L / m or T (s), it becomes the column names and units.

Selecting, copying and clearing cells

Drag across cells with a mouse or pen to select a block, or hold Shift and click, or use Shift with the arrow keys. The status bar shows how many cells are selected. Copy (Ctrl/⌘ C) puts the block on the clipboard as rows and columns that paste straight into a spreadsheet; cut (Ctrl/⌘ X) also empties it. Pasting a block starts at the top-left cell of the selection; pasting one value fills every selected cell. Delete or Backspace empties the selection and Esc cancels it. Formula columns are copied but never overwritten. On a touchscreen, dragging scrolls the table, so select with Shift on a keyboard or paste into one cell.

Importing a CSV file

Import opens a preview of the file. Check the role chosen for each column and whether the first row holds names, then choose a new sheet or the current one. Roles are only suggested from clear headings: a column called Δx is suggested as the uncertainty of the column named x. Nothing is decided without the preview.

From PanPhyTrack, Export to PanPhyPlot opens PanPhyPlot in a new tab with the data in a new sheet: t, x and y, then a second t column with the smoothed velocities vx and vy, which belong to the times midway between marks. The velocities start hidden; show them in the Series list.

Repeat readings

Put each set of repeats in its own Y column, such as T1, T2 and T3. Mean opens Mean of Repeats and then adds a formula column holding their mean, named after them (T). It can also:

  • add a ±Δ column of half the spread between the largest and smallest readings, a common estimate of the uncertainty in a mean;
  • hide the repeat series, so the graph shows the mean.

A row with a missing reading takes the mean of the readings it has, and its half spread needs at least two. The formulas are mean(B, C, D) and halfspread(B, C, D); in any formula, mean, median, min, max and halfspread leave out a blank reading among their inputs.

Formula columns

Data → Formula adds a column calculated from others, row by row; Set formula… in a column's ⋯ menu turns an existing column into one. Its cells are shaded, cannot be typed into, and follow any change to the data.

  • Refer to a column by its letter (B) or by its name, if the name is a single word such as T or T1.
  • The Formula dialog shows a chip for each column, with its letter and name; choose one to add it to the formula. A line under the formula shows which column each name reads, so T2 is one column, not T × 2.
  • Use * to multiply and ^ for powers: T^2, 4*pi^2*L/T^2, 1/sqrt(d). The = is already shown before the box, after the column name, so there is no need to type one; a typed = is ignored.
  • Functions include sqrt, exp, log (natural log), log10, sin, cos, tan (in radians), abs, mean, min and max. Constants are pi and e.
  • A row where any input is blank or invalid stays blank.

The dialog checks the formula as you type and shows the first row's result. Formulas that use column letters keep working when columns are moved or inserted. Renaming a column rewrites the formulas that use its name; if the new name is not a single word, they use the column's letter instead.

Column letters take priority. In a sheet with five or more columns, E means column E, not Euler's number: use e for that.
Uncertainties

Uncertainties live in ±ΔX and ±ΔY columns, absolute or as a percentage of each value, and appear as error bars.

Carrying uncertainties through a formula

Tick Add a ±Δ column in the formula dialog to add a column with the uncertainty of the formula's result. It uses each input's own ±Δ column, by the pairing rule above, and combines them:

\[ \Delta f = \sqrt{\left(\frac{\partial f}{\partial a}\,\Delta a\right)^2 + \left(\frac{\partial f}{\partial b}\,\Delta b\right)^2 + \cdots} \]

For \(f = T^2\), \(\dfrac{\partial f}{\partial T} = 2T\), so \(\Delta(T^2) = 2T\,\Delta T\). The dialog writes out each derivative for your formula. This assumes the uncertainties are small and independent; inputs without a ±Δ column add nothing. Percentage uncertainties are turned into absolute ones first.

The graph
  • Every Y series of the sheet is plotted, with error bars from its ±Δ columns.
  • The Series card on the right is the graph's color key: tap a series there, or its legend entry, to hide or show it with its fit. Each Y column's heading carries the same color.
  • The title follows the columns until you type your own; clear it to return to the automatic title.
  • The toolbar above the graph zooms, pans, rescales and downloads a PNG image.
  • LaTeX mode typesets names, units and titles: a unit of m s^{-1} reads as m s⁻¹. The title above the graph shows typeset; tap it to edit the LaTeX, and press Enter to see it typeset again.
  • View → All sheets draws every series of every sheet together, with labels you can edit.
Fitting

In the Fit card, choose the Series to fit: the Y column to fit. It lists only the series shown on the graph; hiding the one being fitted moves the choice to a visible one, and a series with no data yet cannot be chosen. Each series keeps its own fit, so a hidden series's fit returns when it is shown again.

Tab Models
Basic Linear \(y = mx + c\), quadratic, cubic, exponential \(y = A e^{b(x-x_{\rm ref})} + c\), where \(x_{\rm ref}\) is fixed at the middle of the measured x-range and the general power law \(y = A(x - x_0)^{b} + c\). Its four parameters are found by an automatic search; with few points they can trade off against each other, so their ± values may be large; if theory says \(x_0 = 0\) and \(c = 0\), a Custom fit A*x^b pins them.
Advanced Sinusoidal and Gaussian, with automatic starting values you can adjust. Gaussian fits support peaks and dips above a baseline. Sinusoidal fits need at least five points; automatic frequency searches stay within the sampling limit for evenly spaced data. A larger manual frequency extends the search, but sampled data may not distinguish aliases.
Custom Your own formula in \(x\), such as A*exp(-k*x)+c or k*x. Supports up to 5 fit parameters. Other symbols are parameters to fit. Use Auto guesses to recalculate starting values. Expand Parameter bounds (optional) to set Min and Max for each parameter; leave them blank for no bound. Formulas linear in their parameters are solved directly. See the Math reference for custom fit syntax, supported functions and examples.

Extending the line

A fitted line is drawn across the data. To draw it further, type x values under Extend line: Back to x = before the first point, such as 0 to read an intercept, and Forward to x = beyond the last. Leave a box blank to stop at the data. Each series keeps its own extension through a new fit; Clear Fit removes it. Fit models are saved with the project and restored on reopening or reloading. Older saved fits without a recoverable model need fitting again before changing an extension.

Weighted fits

Turn on Weight by uncertainties to let the more certain points count for more. Each point has weight \(1/\sigma^2\), with \(\sigma^2 = \Delta y^2 + \left(f'(x)\,\Delta x\right)^2\): its ±ΔY, and its ±ΔX turned into a vertical uncertainty through the slope of the curve (the effective variance). The fit is re-weighted as the slope settles. Weighting works for every fit type and needs a ±ΔY or ±ΔX above zero for every point.

A fit becomes Outdated, drawn dashed, as soon as its data or ±ΔY change. Click Fit Curve again to update it.

Reading a fit
  • The equation of the fitted curve, to 2 decimal places at first. The two buttons under it, like a spreadsheet's increase and decrease decimal buttons, show from 0 to 8 places; a value that would round to zero switches to scientific form, such as \(2.30 \times 10^{-3}\). The fit itself keeps every digit. Tap the equation to copy it, as shown, as an image or as LaTeX.
  • Equation symbols: expand this control in the Result card to choose Vertical and Horizontal symbols without changing column headings or axis labels. Enter simple LaTeX such as t_1, R_{out}, \theta or \Delta T; each field has a live preview. Leave a field blank to use a single-letter column name, or fall back to x and y. Symbols are saved with their columns and included when copying the equation. Invalid or identical symbols keep the last valid notation. Custom fit formulas still use x.
  • Parameters with uncertainties for every fit type, such as \(m = 3.97 \pm 0.05\), using the same decimal-place setting as the equation. Small nonzero values and uncertainties use scientific notation when they would otherwise round to zero. A weighted fit treats each σ as a standard uncertainty. An unweighted fit estimates the uncertainty from how far the points scatter about the curve. A quadratic or cubic is fitted internally in a shifted, scaled variable to keep it accurate, then reported in \(x\), with its ± values carried across.
  • Under Fit quality, hover, focus or tap each ? for a short explanation and guidance on interpreting the value. Apart from the parameters: \(R^2\), near 1 when the points lie close to the curve, and the RMSE, the typical vertical distance of a point from it.
  • \(\chi^2/\nu\), shown when every point has a ±ΔY or ±ΔX. Here \(\chi^2 = \sum \left(\frac{y - f(x)}{\sigma}\right)^2\), and \(\nu\) is the number of points minus the number of fitted parameters. Near 1, the points scatter about as much as their uncertainties suggest. Much more than 1, the uncertainties are too small or the model does not fit. Much less than 1, the uncertainties are generous.
  • Residuals: tap Residuals under the graph to show them, and tap again to fold them away. Each is the vertical distance of a point from the fit; a pattern in them, such as a curve, suggests the model is wrong.

Example: for a pendulum, \(T^2 = \dfrac{4\pi^2}{g}L\), so a straight-line fit of \(T^2\) against \(L\) gives \(g = \dfrac{4\pi^2}{m}\), with \(\dfrac{\Delta g}{g} = \dfrac{\Delta m}{m}\).

Sharing your work
  • View → Table shows the sheet with each value beside its own ± uncertainty, ready to copy for a spreadsheet, as an image, as Markdown or as LaTeX. Calculated values are rounded to the decimal place of their uncertainty; typed values appear as entered.
  • Export saves every column, including calculated ones, with headings such as L / m that Import reads back. Formulas themselves are not saved in the file.
  • The camera button on the graph saves it as a PNG image.
Saving and devices

Your sheets are saved automatically in this browser on this device. They are not uploaded anywhere, and clearing the browser's site data removes them: use File → Save to keep a complete project file or move your work to another device.

Save downloads a .ppplot project containing every sheet, data and formulas, graph titles and zoom ranges, hidden series, fit results and uncertainties, custom fit formulas and bounds, equation symbols, decimal places, line extensions and current fit controls. The graphs are rebuilt from these settings when you reopen the file.

Open selects a project file and checks it before asking to replace all current sheets. Cancel to keep your current work, or save it first. A malformed or unsupported file leaves the current project intact. You can open files on another device and continue editing; new fits can be extended immediately. Browser theme and pane widths stay with the device.

Import and Export continue to handle CSV data for an individual sheet; CSV does not preserve formulas or fitted results.

Every tab or window you open this page in shares the same sheets, so use a new sheet, not a new tab, for another experiment. If the work changes in another tab, this tab stops saving and asks whether to reload and see the other tab's version, or keep its own; nothing is overwritten without asking.

If data from an earlier version is found in this browser, a one-time offer can add it as new sheets with names, units and uncertainties. Fits are not imported. Accepting or declining leaves the earlier save untouched.

PanPhyPlot works best on a laptop or tablet. On a small screen, choose Continue to use the workspace or Not now to return to the homepage.

Contents

Screenshot

100%

Scroll or swipe to inspect the image. Use Actual size to read small labels.