首页 文章

使用ggplot2语法创建模板?

提问于
浏览
6

我想知道是否可以在ggplot2中创建一组类似的数字,并以某种方式更改数据 . 例如,我可以创建一个函数来完成这个任务:

plot1 <- function(data) ggplot(data) + geom_line(aes(x,y)) + theme_bw()
plot1(data)
plot1(newdata)

但是有可能以某种方式保存和重用一组组件吗? (显然这不起作用):

g <- geom_line(aes(x,y)) + theme_bw()
ggplot(data) + g
ggplot(newdata) + g

1 回答

  • 14

    +.gg 方法描述here

    这些是 %+%%+replace% ,它们将更新/替换 ggplotthemes 中的元素

    例如

    p <- ggplot(mtcars, aes(x =wt, y = mpg,colour = hp)) + geom_point()
    
    # change the variable mapped to y
    p %+% aes(y = am)
    # change the data set
    p %+% mtcars[1:10,]
    

    或者您可以将元素组合为一个列表

    例如

    #
    g <- list(geom_line(aes(x,y)),theme_bw())
    ggplot(data) + g
    

相关问题