## 14.4 Generate a plot and display it elsewhere

Normally plots generated in a code chunk are displayed beneath the code chunk, but you can choose to show them elsewhere and (optionally) hide them in the code chunk. Below is an example:

We generate a plot in this code chunk but do not show it:

{r cars-plot, dev='png', fig.show='hide'}
plot(cars)


After another paragraph, we introduce the plot:

![A nice plot.](r knitr::fig_chunk('cars-plot', 'png'))

In the code chunk, we used the chunk option fig.show='hide' to hide the plot temporarily. Then in another paragraph, we called the function knitr::fig_chunk() to retrieve the path of the plot file, which is usually like test_files/figure-html/cars-plot-1.png. You need to pass the chunk label and the graphical device name to fig_chunk() for it to calculate the plot file path.

You may see https://stackoverflow.com/a/46305297/559676 for an application of fig_chunk() to blogdown websites. This function works for any R Markdown output formats. It can be particularly helpful for presenting plots on slides, because the screen space is often limited on slide pages. You may present code on a slide, and reveal the plot on a different slide.