A good graph is often the single most important figure in a lab report. This guide covers choosing the right graph, axes and units, error bars, lines of best fit, linearising data to extract constants, gradients and intercepts, captions, and the mistakes that cost marks.
| Graph type | Use it for | Example |
|---|---|---|
| Scatter plot with best-fit line | The relationship between two continuous variables; the workhorse of lab reports | Extension vs force for a spring |
| Line graph (points joined) | Continuous change over time where intermediate values are meaningful | Temperature vs time during cooling (often still shown with a fitted curve) |
| Bar chart | Comparing categories | Mean enzyme activity at four different pH buffers treated as categories |
| Histogram | The distribution of one continuous variable | Spread of 100 repeated timing measurements |
| Log or log-log plot | Exponential or power-law relationships, or data spanning orders of magnitude | Radioactive decay, frequency response |
For most physics and chemistry experiments, the answer is a scatter plot with a line or curve of best fit. Joining points dot-to-dot implies you know exactly what happens between measurements, which you usually do not.
Error bars show the uncertainty in each data point, and many rubrics award marks specifically for them.
Using error bars to judge your fit: a good line of best fit should pass through most error bars, roughly two-thirds of them if the bars represent one standard uncertainty. If it misses most of them, either the relationship is not what you assumed or the uncertainties are underestimated. Both are worth discussing.
For how to calculate the uncertainties in the first place, see our uncertainty and error analysis guide.
In many introductory courses, the uncertainty in a gradient is found by drawing the steepest and shallowest lines that still pass through the error bars:
uncertainty in gradient ≈ (max gradient − min gradient) ÷ 2
Software regression gives a standard error for the slope directly, which is the more rigorous approach in advanced courses.
Send your data and lab brief. We plot, fit, linearise and write the analysis to your rubric.
Straight lines are easy to analyse: a gradient and an intercept each mean something physical. When theory predicts a curve, rearrange the equation into the form y = mx + c and plot the transformed variables.
| Relationship | Plot | Gradient gives |
|---|---|---|
| Pendulum: T = 2π√(L/g) | T² against L | 4π²/g, so g = 4π²/gradient |
| Hooke's law: F = kx | F against x | Spring constant k |
| Ohm's law: V = IR | V against I | Resistance R |
| Exponential decay: N = N₀e−λt | ln N against t | −λ (intercept gives ln N₀) |
| Power law: y = kxⁿ | ln y against ln x | The exponent n (intercept gives ln k) |
| Arrhenius: k = Ae−Ea/RT | ln k against 1/T | −Ea/R |
Remember to label transformed axes correctly, for example "T² / s²" or "ln(N / counts)", and to propagate uncertainties into the transformed values.
| Tool | Tips |
|---|---|
| Excel / Google Sheets | Use "Scatter", not "Line" chart; add a linear trendline with equation; add custom error bars from a column of uncertainties. |
| Python (matplotlib) | Use plt.errorbar() for data with uncertainties and numpy.polyfit or scipy.stats.linregress for fits. |
| MATLAB | errorbar() for data, polyfit / fitlm for fits. |
| By hand | Use graph paper, a sharp pencil, crosses for points and a transparent ruler for the best-fit line. |
Spreadsheet defaults rarely meet lab-report standards: always relabel axes with units, remove the chart title if you use a caption, and delete unnecessary legends.
Tables and graphs do different jobs, and most lab reports need both. A table shows the exact values, including repeats and uncertainties, so the reader can check your calculations. A graph shows the pattern: trends, linearity, outliers and how well the theory fits. Present raw and processed data in tables, then plot the processed data. Avoid showing exactly the same information twice without a reason, and put very long raw-data tables in an appendix.
For where graphs sit in the full report, see our lab report guide.
Only if theory predicts it and the data support it. Forcing a line through the origin can hide a systematic error that a non-zero intercept would reveal.
Usually not. Draw a smooth line or curve of best fit through the trend. Joining dots implies certainty about values between measurements.
They represent the uncertainty in each data point, such as instrument uncertainty, standard deviation or standard error. Always state which in the caption.
A straight-line graph makes it easy to calculate a gradient and intercept, which often correspond directly to physical constants, and to see whether the data really follow the predicted relationship.