1

我希望使用 ggplot2 对象/grobs/plots 作为轴标签。

这是我的玩具示例:

library(dplyr)
library(ggplot2)
# master plot
df <- data_frame(y = c("unchanging", "increasing", "decreasing"), x = c(20, 50, 30))
ggplot(df, aes(x, y)) + geom_point()

在此处输入图像描述

# fxn generates ggplot2 object specifying a line plot from two points
two_pt_line_plot <- function(y1, y2) {
  df <- data_frame(y = c(y1, y2), x = c("from", "to"))
  ggplot(df, aes(x,y, group = 1)) + geom_line(size = 4) + 
    xlab(NULL) + ylab(NULL) + 
    scale_x_discrete(expand=c(0,0)) + 
    scale_y_continuous(expand=c(0,0))
}
# make the three plot objects, name them appropriately.
grobs <- Map(two_pt_line_plot, c(.5,0,1), c(.5, 1, 0))
names(grobs) <- df$y
grobs
#> $unchanging

在此处输入图像描述

#> $increasing

在此处输入图像描述

#> $decreasing

在此处输入图像描述

我想以编程方式生成这个:

在此处输入图像描述

我目前唯一能想到的是,我以某种方式将情节分层,作为主题被最大限度地破解以使其看起来像它所属的方面。但我还不能做到这一点,这似乎是一个非常 hack-y 的解决方案。因此,我想我会把它扔在那里。

4

0 回答 0