# How to Format Data Tables and Figures in a Lab Report

By the end of this guide you will be able to build a numbered, captioned data table with proper column headers and units, place it correctly in the Results section of a lab report, format a matching figure with a complete legend, and avoid the errors that cost the most points on graded reports. You will also leave with a reusable research template you can copy into every future report.

Here is what to have on hand before you start:

- Your raw data, ideally already recorded in a [lab notebook](/knowledge/molecular-biology/lab-notebook) or a spreadsheet
- A spreadsheet program such as Excel, Google Sheets, or LibreOffice Calc for calculating means and standard deviations
- A word processor such as Word or Google Docs for the final report, or LaTeX if your course requires it
- A calculator or a few lines of Python if you prefer scripted analysis

## Why Table and Figure Format Matters More Than You Think

A table is not decoration. It is a [structured data](/blog/data-analysis/what-is-structured-data) product, and its usefulness depends entirely on whether a reader can find it, understand it, and reuse it. A study of Food and Drug Administration diagnostic data for SARS-CoV-2 tests found that four specific problems limited the usability of otherwise valuable datasets: similar or inconsistent test names, inconsistent document identifiers, heterogeneous structure and formatting within documents, and poor traceability when documents were amended [1]. Those same four failure modes show up in student lab reports, just at a smaller scale. A table with vague column names, inconsistent number formats, and no version tracking is hard to grade, hard to check, and impossible to reuse.

The broader principle behind these recommendations is called FAIR, which stands for Findable, Accessible, Interoperable, and Reusable. The FAIR framework was applied in that diagnostics study precisely because structured tables, rather than free-form text or scanned pages, make data findable and reusable by other people and by software [1].

Format also matters for your own workflow. Analysis software often demands input in a specific format, which is a recurring frustration documented in the electrophysiology community. The NeoAnalysis toolbox was built in part because existing tools accepted only narrow input formats, so its developers made the tool import data from different acquisition systems regardless of format and combine everything into a single file with a standardized structure [2]. When you format your own tables with consistent, predictable structure, you are making your future analysis easier, not just satisfying a grader.

## The Anatomy of a Properly Formatted Data Table

![Five-step flow showing table number, caption above, headers with units, consistent decimals and footnotes for a lab report table.](/article-images/illustrations/formatting-data-tables-in-lab-report-table-anatomy-flow.webp)

Every data table in a lab report needs five elements. Missing any one of them is the single most common source of lost points.

1. **A table number.** Tables are numbered sequentially (Table 1, Table 2, Table 3) and every number is cited at least once in the body text.
2. **A caption above the table.** Tables get captions above, figures get captions below. This is the convention in most scientific style guides and in most course rubrics.
3. **Descriptive column headers with units.** "Time (min)" not "time". "Absorbance at 600 nm" not "OD". Put the unit in the header so it appears once, not in every cell.
4. **Consistent [significant figures](/blog/data-analysis/significant-figures-rules).** Every entry in a column should carry the same number of decimal places, matching the precision of your instrument.
5. **Footnotes for anything unusual.** Abbreviations, statistical markers such as asterisks for significance, and notes about missing values go in footnotes below the table, never buried in the caption.

A well-formed table looks like this:

**Table 1. Growth of *Escherichia coli* K-12 in LB broth at 37 °C with shaking at 200 rpm.** Optical density was measured at 600 nm (OD600). Each value is the mean of three independent cultures. Standard deviation is shown in parentheses.

| Time (min) | OD600, replicate A | OD600, replicate B | OD600, replicate C | Mean OD600 (SD) |
|--|--|--|--|--|
| 0 | 0.045 (0.002) | 0.044 (0.002) | 0.046 (0.002) | 0.045 (0.001) |
| 60 | 0.182 (0.008) | 0.179 (0.008) | 0.185 (0.008) | 0.182 (0.003) |
| 120 | 0.512 (0.021) | 0.505 (0.021) | 0.518 (0.021) | 0.512 (0.007) |
| 180 | 0.934 (0.038) | 0.921 (0.038) | 0.940 (0.038) | 0.932 (0.010) |

Note what this table does right. The caption states the organism, the growth medium, the temperature, the shaking condition, and what the numbers represent. The reader does not need the Methods section to interpret it. Units live in the headers. Every value carries three decimal places because that is what a typical spectrophotometer reports.

## Formatting Data Tables in a Lab Report Step by Step

This walkthrough uses a worked example you can replicate with your own data. Suppose you measured OD600 of three bacterial cultures at four time points and recorded the raw readings in your notebook. Here is how to turn that into a finished Results table.

### Step 1. Enter raw data in long, tidy form

Open your spreadsheet. Put each variable in its own column and each observation in its own row. This is the "tidy" layout that every statistics package and most analysis scripts expect.

```
time_min  replicate  od600
0         A          0.045
0         B          0.044
0         C          0.046
60        A          0.182
60        B          0.179
60        C          0.185
120       A          0.512
120       B          0.505
120       C          0.518
180       A          0.934
180       B          0.921
180       C          0.940
```

Column names use lowercase letters and underscores with no spaces. Spaces in column headers break formulas and scripts, which is the same class of problem that inconsistent naming caused in the FDA diagnostics dataset described earlier [1].

### Step 2. Compute summary statistics with formulas

![Worked calculation of the time 0 mean from three OD600 readings of 0.045, 0.044 and 0.046, giving 0.045 with SD 0.001.](/article-images/illustrations/formatting-data-tables-in-lab-report-mean-sd-calc.webp)

In a new sheet, compute the mean for each time point. With raw data in a sheet named `Raw`, place time points in column A of a sheet named `Summary` starting at row 2, then use:

```
B2:  =AVERAGEIF(Raw!$A$2:$A$13, A2, Raw!$C$2:$C$13)
C2:  =STDEV.S(FILTER(Raw!$C$2:$C$13, Raw!$A$2:$A$13 = A2))
D2:  =COUNT(FILTER(Raw!$C$2:$C$13, Raw!$A$2:$A$13 = A2))
```

In Excel older than 365, the FILTER approach does not exist, so compute each replicate column separately with AVERAGEIF and use a three-cell STDEV range instead. In Google Sheets, the formulas above work as written.

The expected output in the `Summary` sheet:

```
time_min  mean_od600  sd_od600  n
0         0.045       0.001     3
60        0.182       0.003     3
120       0.512       0.007     3
180       0.932       0.010     3
```

Check your result two ways. First, the count column must equal your planned replicate number, here 3, for every row. A count of 2 means one reading was left blank or mis-entered. Second, hand-check one mean. For time 0, (0.045 + 0.044 + 0.046) / 3 = 0.045. If your formula produces anything else, the range is wrong.

If you work in Python instead, the same job takes three lines with pandas:

```
import pandas as pd

df = pd.read_csv("raw_growth.csv")
summary = df.groupby("time_min")["od600"].agg(["mean", "std", "count"])
print(summary.round(3))
```

Expected output:

```
          mean    std  count
time_min
0        0.045  0.001      3
60       0.182  0.003      3
120      0.512  0.007      3
180      0.932  0.010      3
```

### Step 3. Set the number of decimal places to match your instrument

Your spectrophotometer reports three decimal places, so the table shows three. Do not round to fewer decimals than the instrument provides and do not carry more decimals than the instrument justifies. A reading of 0.045 recorded as 0.0450 or 0.04500 claims precision the instrument does not have.

### Step 4. Build the final table in your word processor

Insert a real table object, not tab-separated text. Put the caption above the table, use the "Insert Caption" or equivalent feature so numbering updates automatically if you add tables later, and apply a simple grid style. Center numeric columns. Left-align text columns such as sample names.

### Step 5. Cite the table in the text

Every table must be referred to in the Results prose before the reader reaches it. A sentence such as "Growth of *E. coli* K-12 was monitored for 180 minutes and mean OD600 increased from 0.045 to 0.932 (Table 1)" satisfies this. The sentence reports the trend in words, and the table carries the detail.

## Formatting Figures: Captions, Axes, and Legends

Figures follow parallel rules with a few differences.

**Numbering and placement.** Figures are numbered separately from tables (Figure 1, Figure 2) and every figure is cited in the text. Captions go below figures, the opposite of tables.

**Axes.** Every axis needs a label and a unit. "Time (min)" on the x axis and "OD600" on the y axis, never bare "time" and "OD". Start axes at zero when a ratio makes sense to compare, and choose tick intervals that a reader can interpolate by eye.

**Error bars.** When you plot means, state in the caption what the bars represent, because standard deviation, standard error of the mean, and 95 percent [confidence intervals](/blog/data-analysis/confidence-interval-formula-examples) all look similar and mean different things. A caption phrase such as "error bars show standard deviation, n = 3" removes the ambiguity.

**Legends within the plot.** If a figure contains more than one data series, label each series directly on the plot when possible, or use a legend with the same terminology used in the caption and the text. Calling the same condition "control" in the text, "untreated" in the legend, and "0 μM" in the caption forces the reader to guess whether these are identical.

**Raster versus vector.** Export plots as vector formats such as PDF or SVG when the submission allows it, since vector graphics stay sharp at any zoom level. Use at least 300 DPI if you must submit a raster format such as PNG or TIFF.

## A Quick Reference Table of Formatting Conventions

| Element | Convention | Where it goes | Example |
|--|--|--|--|
| Table caption | Above the table, numbered | Results or Appendix | Table 2. Enzyme activity at pH 6 to 8 |
| Figure caption | Below the figure, numbered | Results or Appendix | Figure 1. Standard curve of BSA at 595 nm |
| Units | In column or axis headers | Headers, not cells | Time (min), OD600 |
| Decimals | Match instrument precision | All cells in a column | 0.045, not 0.0450 or 0.05 |
| Replicates | State n in caption | Caption or footnote | n = 3 independent cultures |
| Statistical markers | Define in footnote | Footnote below table | * p < 0.05 versus time 0 |
| Missing data | Blank cell or em-dash substitute with a footnote | Cell plus footnote | ND (not determined) |
| Significance of digits | No false precision | Every numeric cell | 37 °C, not 37.000 °C |

## Building a Reusable Research Template

Formatting from scratch for every report wastes time and invites inconsistency. Build a research template once and copy it forward.

A minimal template contains four reusable blocks:

1. **A raw data sheet** with fixed column names, one row per observation, and a column for the date and the operator initials
2. **A summary sheet** with your AVERAGEIF, STDEV.S, and COUNT formulas already pointing at the raw sheet
3. **A results table skeleton** in your word processor with the caption placeholder above and the footnote line below
4. **A figure skeleton** with axis titles, a legend position, and a caption placeholder below

The value of a template compounds over a semester. When your column names never change, your analysis scripts never need rewriting, which is exactly the benefit the NeoAnalysis developers chased when they standardized input handling across acquisition systems [2]. A template also gives you a natural place to record version history. Add a row at the top of the raw sheet reading "version, date, change" and log amendments there, since untracked amendments were one of the four documented failure modes in the FDA diagnostics dataset [1].

For the notebook side of the workflow, a lab notebook template pdf with pre-ruled columns for date, experiment ID, reagent lot numbers, observations, and a signature line keeps raw data organized before it ever reaches a spreadsheet. Many universities provide such templates free, and the discipline they enforce mirrors what a good table needs: consistent fields, filled on every entry.

## Formatting Data Tables in a Lab Report Tips

These tips resolve the judgment calls that rubrics rarely spell out.

- **Put processed data in the report, raw data in the notebook or appendix.** A Results table shows means and standard deviations, not all 36 individual readings, unless the assignment asks for raw values.
- **One message per table.** If a table needs three paragraphs to explain, split it. A reader should grasp the point of the table from the caption alone.
- **Sort rows logically.** Order rows by the independent variable, ascending time, ascending concentration, not by the order you happened to run the samples.
- **Keep the table width inside the page margins.** If a table will not fit, reduce columns, rotate to landscape, or split into Table 3a and 3b. Never shrink the font below the body text size by more than one or two points.
- **Use the same organism, reagent, and condition names everywhere.** Pick one name per entity at the start of the report and use it in the text, the tables, and the figures. Naming drift was a documented barrier to data reuse at scale [1], and at student scale it simply confuses your grader.
- **State the statistical test in the caption or the footnote.** "Values differ between time points (one-way ANOVA, p < 0.05)" tells the reader how the asterisks were earned.
- **Check the caption against the table after every edit.** When you add or remove a column, the caption and the text citations must be updated in the same pass.

## Common Mistakes and Limitations

These are the errors seen most often in graded reports, with the fix for each.

- **Caption below the table.** Figures take captions below, tables take captions above. Mixing them up is a Rubric line item in many courses.
- **Units missing from headers.** Writing "0.045" in a cell and explaining the unit in the text forces the reader to reconstruct meaning. Put "OD600" in the header.
- **Inconsistent decimal places within a column.** A column reading 0.045, 0.18, 0.512 looks careless. Format cells to a fixed number of decimals so 0.180 displays fully.
- **Uncited tables and figures.** A table that never appears in the body text will be treated as orphaned. Cite every table and figure number at least once.
- **Excel graphs with default titles.** "OD600 vs time" as an auto-generated chart title duplicates the axis labels and adds nothing. Delete the chart title, keep the axis labels, and let the caption do the describing.
- **Significance asterisks with no definition.** Three asterisks mean nothing unless a footnote defines the threshold and the test.
- **Data pasted as pictures.** A screenshot of a spreadsheet cannot be checked, searched, or reused. Paste values into a real table.
- **Merged cells in the middle of a data grid.** Merged cells break sorting, filtering, and any later import into analysis software. Merge only in header rows above the data, never within the data grid itself.
- **Rounding at every intermediate step.** Carry full precision through calculations and round only once, at the final displayed value. Rounding 0.0454 to 0.05 before computing a growth rate inflates the error.
- **A limitation worth stating once.** Table formatting conventions vary between journals and between instructors. Follow your course rubric first, and where the rubric is silent, the conventions in this guide match common scientific practice. Individual assignments can have unusual requirements, and your instructor is the authority on those.

## Checking Your Work Before Submission

Run this five-point check on every table and figure.

1. Is it numbered, captioned, and cited in the text?
2. Does every column and axis carry a unit?
3. Do all values in a column share the same decimal precision?
4. Does the caption contain enough information to interpret the table without reading the Methods?
5. If you printed only the tables and figures, could a reader follow the main result of the experiment?

If all five answers are yes, the table is doing its job.

## Frequently Asked Questions

### Do tables go in the Results section or the appendix?

Place tables that carry your main findings in the Results section, in the order the text cites them. Move long supporting tables, such as full raw readings or calibration data, to an appendix and cite them from Results.

### Should the caption go above or below a table?

Above. Tables conventionally take captions above the table body, while figures take captions below. The caption for a table describes its contents, the conditions of the experiment, and the meaning of any statistical markers.

### How many decimal places should I use in a table?

Match the precision of your measuring instrument and use the same number of decimals for every value in a column. A spectrophotometer reporting three decimals justifies 0.045, not 0.0450 or 0.05.

### Can I use color and merged cells in a results table?

Use color sparingly and only when it encodes information, such as highlighting a treatment group, and confirm it remains legible in grayscale printing. Merge cells only in header rows, never inside the data grid, because merged data cells break sorting and later analysis.

### Do I need to cite each table and figure in the text?

Yes. Every numbered table and figure must be referred to at least once in the body text, typically in the Results paragraph that discusses it. An uncited table is treated as orphaned material.

### What belongs in a figure legend?

The legend should state what is plotted, the sample size, what error bars represent, the statistical test behind any significance markers, and any abbreviations. A reader should understand the figure from the legend alone.

### Should my lab notebook raw data look like the final report table?

No. The notebook records raw, dated observations as they happen, including mistakes and corrections. The report table shows processed summary values. A lab notebook template pdf helps by giving raw entries a consistent structure that is easy to transcribe into a spreadsheet later.

### What is the fastest way to compute means and standard deviations for a table?

Use AVERAGEIF and STDEV.S in a spreadsheet, or groupby with agg in pandas if you work in Python. Both approaches compute a summary per condition, and you should always verify one value by hand and check that the observation count matches your planned replicate number.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Do tables go in the Results section or the appendix?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Place tables carrying your main findings in the Results section in the order the text cites them, and move long supporting tables, such as full raw readings, to an appendix cited from Results."
      }
    },
    {
      "@type": "Question",
      "name": "Should the caption go above or below a table?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Above. Tables take captions above the table body while figures take captions below, and a table caption should state the contents, conditions, and meaning of any statistical markers."
      }
    },
    {
      "@type": "Question",
      "name": "How many decimal places should I use in a table?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Match the precision of your measuring instrument and use the same number of decimal places for every value in a column."
      }
    },
    {
      "@type": "Question",
      "name": "Can I use color and merged cells in a results table?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Use color sparingly and only when it encodes information, and merge cells only in header rows, never inside the data grid, because merged data cells break sorting and later analysis."
      }
    },
    {
      "@type": "Question",
      "name": "Do I need to cite each table and figure in the text?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Yes. Every numbered table and figure must be referred to at least once in the body text, and an uncited table is treated as orphaned material."
      }
    },
    {
      "@type": "Question",
      "name": "What belongs in a figure legend?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "The legend should state what is plotted, the sample size, what error bars represent, the statistical test behind any significance markers, and any abbreviations."
      }
    },
    {
      "@type": "Question",
      "name": "Should my lab notebook raw data look like the final report table?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "No. The notebook records raw, dated observations as they happen, while the report table shows processed summary values, and a structured notebook template makes transcription into a spreadsheet easier."
      }
    },
    {
      "@type": "Question",
      "name": "What is the fastest way to compute means and standard deviations for a table?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Use AVERAGEIF and STDEV.S in a spreadsheet or groupby with agg in pandas, then verify one value by hand and confirm the observation count matches your planned replicate number."
      }
    }
  ]
}
</script>

## Sources

1. [Challenges in Structuring SARS-CoV-2 Emergency Use Authorization Diagnostics Data: Leveraging Findable, Accessible, Interoperable, and Reusable Principles for the Next Era of Diagnostic Data Transparency.](https://pubmed.ncbi.nlm.nih.gov/41386638/)
2. [NeoAnalysis: a Python-based toolbox for quick electrophysiological data processing and analysis.](https://pubmed.ncbi.nlm.nih.gov/29132360/)