Canvas not supported; please update your browser.


A = 0.12345678
B = 0.12345678
C = 0.12345678
rms Error = 0.12345678
x = 0.123456,   slope = 0.123456


X label:   X units:

Y label:   Y units:     

Save graph as:       


nPlot was designed to let science teachers teach science instead of how to wrestle with different graphing programs. For example, uncertainties can simply be entered in the columns labeled "± x" and "± y". Not all students have the math experience required to linearize their data. With nPlot, they don't have to. The most common mathematical models encountered in introductory physics can be selected with a mouse click.

It is not possible to control the scaling of the graph axes. The auto-scaling routine is quite robust. Of course, some students will find ways, through bad data, bad math, or both, to break it. We call these "teachable moments."

For now, there is no resorting to scientific notation for graphing large or small data values. Encourage your students to convert their data to micro- or mega-whatevers. To facilitate that, the axis labeling understands Greek. Just type e.g. \Delta, \delta, or \mu to get any letter in the Greek alphabet (that is not already in the Roman one). The labels also understand e.g., ^2 in the usual way.

Fit results and their uncertainties are purposely reported to a ridiculous number of decimal places, so that students have the opportunity to think about uncertainty and precision. (Although the uncertainties in the data grid are drawn on the graph, they do not affect the fit.) Goodness-of-fit is given by the root mean square error (RMSE). Smaller indicates a better fit, but not necessarily a better model. Students will have to be discouraged from choosing a quadratic fit to everything.

The Tangent Finder does just what it says. When activated, it gives the slope of the fit at the x-value of the mouse position. If a student wants to include a tangent in their downloaded graph, they can slide the mouse off the top edge of the graph at the desired x-value.

Students can prepare their data in Excel or Google Sheets, then copy and paste the whole block into the data grid. I encourage my students to use this method, because it also preserves their data for use in their report (see about saving graphs below). They can download the graph and paste it next to the data table in their spreadsheet and hey! look! an electronic notebook.

Within the data grid, Enter, Tab, and the arrow keys do reasonable things. Shift-delete clears the current cell. The data grid is actually a mini spreadsheet that understands simple Excel-like formulas. (Try putting 2 in the upper left cell and typing =(A1+2)**.5 into another cell. Valid operators are +, -, *, /, parentheses, and the power operator **. No attempt is made to defend this feature as useful.)

If a data cell turns red, it has some problem preventing it from being interpreted as a number.

The Save Graph feature saves the graph only on the physical machine the student is using. This is useful only if they have a personal Chromebook or other device. Otherwise, they should save their data in their notebook. Other aspects of graph saving: holding down the shift key while clicking the Clear Data button will delete all saved graphs. Holding down the shift key while clicking on the name of a saved graph will delete just that graph. In both cases, there is no "are you sure?" warning.


Bad paste attempt. Check your spreadsheet data for letters and other non-numeric characters.


nPlot v4.02

© Geoff Nunes, 2020

Questions, brickbats, and requests for new features can be sent to doc at this website (noragulfa.com). Please don't expect a rapid response.

The fitting routines are adapted from Press, Teukolsky, et al., Numerical Recipes. The data grid was adapted from code by Ondřej Žára. Everything else is my fault.