[R] ggplot with arrows

Ebert,Timothy Aaron tebert @end|ng |rom u||@edu
Fri Aug 1 16:43:34 CEST 2025


I would save the graph as a PowerPoint object and then edit it in PowerPoint.
library(ggplot2)
library(grid)
library(officer)
library(rvg)
x <- seq(-5, 5, length.out = 100)
y <- x^2
data <- data.frame(x, y)
plot <- ggplot(data, aes(x, y)) +
  geom_path(color = "blue", linewidth = 1.25) +
  geom_segment(
    aes(x = x[1], y = y[1], xend = x[100], yend = y[100]),
    arrow = arrow(angle = 20, type = "closed", ends = "both", length = unit(0.2, "inches")),
    color = "red"
  ) +
  theme_linedraw()
doc <- read_pptx()
doc <- add_slide(doc, layout = "Title and Content", master = "Office Theme")
doc <- ph_with(doc, dml(ggobj = plot), location = ph_location_fullsize())
print(doc, target = "quadratic_with_arrows.pptx")

If I remember I think you have to ungroup it in PowerPoint and then all elements become editable. The general approach can be done with other file formats/programs, not just PowerPoint.
Tim

-----Original Message-----
From: R-help <r-help-bounces using r-project.org> On Behalf Of Thomas Subia via R-help
Sent: Friday, August 1, 2025 10:31 AM
To: r-help using r-project.org
Subject: [R] ggplot with arrows

[External Email]

Consider:

x <- seq(-5,5,length.out = 100)
y <- x^2
data <- data.frame(x,y)
library(ggplot2)
ggplot(data,aes(x,y))+
  stat_function(
    fun = function(x) x^2,
    color = "blue", linewidth = 1.25
  ) +
  theme_linedraw()
I'd like to add an arrow to the ends of curve to illustrate the curve continues indefinitely in that direction, ChatGPT suggests using geom_segment or geom_link but there has an easier way to do this.

Any suggestions would be appreciated.


        [[alternative HTML version deleted]]

______________________________________________
R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide https://www.r-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.



More information about the R-help mailing list