我正在尝试创建一个函数来编辑ggplot的外观。
这是我想使用一个函数创建的示例(显然我要创建的函数比较复杂,但这只是为了演示)。
library(ggplot2)
library(dplyr)
group_by(iris, Species) %>%
summarise(m = mean(Sepal.Width)) %>%
ggplot(aes(x = Species, y = m)) +
geom_col() +
xlab("") + ylab("")
这是我要执行的功能:
name_axis <- function(){
xlab(label = "") +
ylab(label = "")
}
group_by(iris, Species) %>%
summarise(m = mean(Sepal.Width)) %>%
ggplot(aes(x = Species, y = m)) +
geom_col() +
name_axis()
我知道我可以这样做,首先将绘图保存到对象,然后将绘图传递给新函数。但我想跳过这一步,而改用“ +”。
答案 0 :(得分:2)
您可以使用
list()
: name_axis <- list(
xlab(label = "Nothing"),
ylab(label = ""))
group_by(iris, Species) %>%
summarise(m = mean(Sepal.Width)) %>%
ggplot(aes(x = Species, y = m)) +
geom_col() +
name_axis
name_axis <- function(){
list(xlab(label = ""),
ylab(label = "hello"))
}
group_by(iris, Species) %>%
summarise(m = mean(Sepal.Width)) %>%
ggplot(aes(x = Species, y = m)) +
geom_col() +
name_axis()```