问题
I would like to rotate a ggplot2 graph by a self-specified angle. I found how to rotate the axis text with element_text(angle = 20)
. I would like to do something similar with the whole plot.
Reproducible example:
set.seed(123)
data_plot <- data.frame(x = sort(rnorm(1000)),
y = sort(rnorm(1000)))
ggplot(data_plot, aes(y, x)) +
geom_line() # + theme(axis.title.x = element_text(angle = 20))
This graph should be rotated:
回答1:
Here's a rough idea, calling your plot p
:
library(grid)
pushViewport(viewport(name = "rotate", angle = 20, clip = "off", width = 0.7, height = 0.7))
print(p, vp = "rotate")
You'll probably want to tailor the width
and height
to the angle and aspect ratio you want.
来源:https://stackoverflow.com/questions/48323534/ggplot2-how-to-rotate-a-graph-in-a-specific-angle