Last modified: 2026-11-05 16:37:15 (PST)
Talks, posters, and figures carry the same research as a paper, but the reader sees them for less time and cannot reread them. This chapter gives practical rules for each.
When preparing slides for a lab meeting, conference, qualifying exam, or thesis defense, follow these guidelines:
A figure often shows a pattern, an outlier or a comparison faster and more reliably than a sentence or a table can describe it. So when a result can be drawn, draw it, and use the text to point the reader to what the figure shows.
Example 1 (Four datasets with the same summaries) Anscombe (1973) constructed four small datasets of \((x, y)\) pairs (Wikipedia: Anscombe’s quartet). All four have the same mean of \(x\) (9), the same mean of \(y\) (7.5), the same correlation (0.82 to two decimal places) and the same least-squares line, with slope 0.5. A table of these summaries cannot tell the datasets apart. A scatterplot of each can: one is roughly linear with scatter, one follows a smooth curve, one is an exact line with a single outlier, and one has all but one of its points at the same \(x\).
Include a figure wherever one helps a reader see a definition, an example, or a result. Draw a graph for a relationship between quantities, a diagram for a structure or a process, and a plot of the data for a fitted model or an estimate. Add figures to new work as you write it, and add them to existing chapters that lack them. On a website or slide deck, draw a graph as an interactive plotly figure where feasible, and as a 3D plotly figure where a third dimension shows the idea, such as a surface over two parameters. Keep a static image for the PDF and Word outputs, which cannot show a widget. Give every figure alt text, a numbered caption, and a code chunk that comments what the code does and why.
Open each caption with a sentence that says what the figure or table shows, so a reader who sees only the figure or table learns its point without following a link. A cross-reference to the example or section that the figure or table illustrates may support that sentence, either after the sentence or in parentheses within the sentence, but the cross-reference never replaces the sentence. Two captions for the same figure show the difference:
@exm-x.” The reader learns nothing until following the link.@exm-x).” The reader learns the point at once.A caption does not rely on another figure’s caption (Ezra, 2026-11-03): do not describe a figure as “the surface of @fig-x” or “the same paths as @fig-x”. State what this figure shows, as if it were the only figure on the page. A figure that adds a view of another, such as a surface for a contour plot, gets a caption that names its own quantities and its own point.
Lead with a well-labeled figure or table instead of a long paragraph that describes a pipeline or compares groups. Use a diagram for a conceptual model, such as a directed acyclic graph (DAG), and for a process, such as a participant flow (CONSORT) diagram or a workflow schematic. Let the text interpret what the figure shows instead of listing every number the reader can already see in it. Give the key estimates in the text and point to the figure for the rest.
A clear figure lets a reader check a result without help from the text. Before you share a figure:
#fig- div with a caption, and set alt text that reads out the structure with fig-alt. The Morrison-Lab/gha check check-tree-lists flags a pull request that adds a definition, example, or other labeled div that mentions a tree, holds a list nested three or more levels deep, and has no figure; a <!-- no-tree-figure: reason --> comment inside the div exempts it.For more:
A function of two variables, such as a loss or a residual sum of squares as a function of a regression’s intercept and slope, is a surface. A contour plot shows where the function takes given values and is easy to read values from. A three-dimensional surface plot shows the same function as a landscape, so valleys, ridges and minima are visible at once. Show both when the shape of the surface matters.
Use a 3D plot for a surface, with the function’s value on the vertical axis, and pair it with a contour plot of the same function.
Pair the other way too: every contour plot or level-curve plot of a function of two variables gets a corresponding 3D surface plot of the same function (Ezra, 2026-11-03), with the same colors and marked points, placed right after the contour plot. The 3D plot may be a separate figure that cross-references the contour plot.
Do not use 3D for data that are not a surface, such as bars or pie charts: perspective makes lengths and areas harder to compare.
Choose the viewing angle so that the feature you discuss, such as the minimum, is not hidden, and label all three axes.
An interactive plot that readers can rotate, such as one made with plotly, helps on the web, but PDF and Word output show no interactive plot, so also provide a static view at a fixed angle (see Make figures accessible).
In a Python tab, draw the interactive 3D plot with plotly too, so the R and Python tabs of a figure look alike. Keep the matplotlib version for the PDF and Word output, where it is the static view at a fixed angle, and run it only in those outputs, the way the R tab runs its plotly code only in HTML output. In a knitr chunk, print the figure as one raw HTML block under results: asis, because fig.show() needs ipython and several print calls split the chunk’s output:
End each call that returns the figure, such as add_trace and update_layout, with ; so that reticulate does not print the figure after every call, and add plotly to the page’s reticulate::py_require list.
Give a 3D plot alt text that states what the surface looks like, such as “a bowl with its lowest point at …”.
Source
Several of the resource links in the slide deck and figure sections began in the Benjamin-Chung Lab Manual by Jade Benjamin-Chung. The section on three-dimensional graphs is original to this guide.
For further reading, see the Professional Development and Resources chapters of the UCD-SERG lab manual.