This is an R-HTML document & can be embeded an R code chunk like this:

This is the long method:
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.5.1     ✔ tibble    3.2.1
## ✔ lubridate 1.9.3     ✔ tidyr     1.3.1
## ✔ purrr     1.0.2     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
  ggplot(data = BOD,
         mapping = aes(x = Time, y = demand)) +
    geom_point(size = 5) +
    geom_line(color = "red")
plot of chunk unnamed-chunk-1
This is a shorter method
library(tidyverse)

  ggplot(BOD, aes(Time, demand)) +
    geom_point(size = 3) +
    geom_line(color = "blue")
plot of chunk unnamed-chunk-2
This is using dplyr pipe:
library(tidyverse)

  BOD %>%
    ggplot(aes(Time, demand)) +
    geom_point(size = 5, color = "red") +
    geom_line(color = "blue")
plot of chunk unnamed-chunk-3