TL; DR:如何保存绘图轴文本和大小以及其他对象,以使代码更短?
举例来说,我想用不同的几何图形绘制不同的数据,但使用相同的轴文本大小和标题。
组成代码中看起来像这样
ggplot(data = df, aes(x = x, y = y) + geom_line() +
ylab("my y axis") +
xlab("my x axis") +
opts(title = "my title") +
theme(axis.text=element_text(size=20),
axis.title=element_text(size=14,face="bold"))
ggplot(data = new_df, aes(x = whatever, y = something) + geom_anythingelse() +
ylab("my y axis") +
xlab("my x axis") +
opts(title = "my title") +
theme(axis.text=element_text(size=20),
axis.title=element_text(size=14,face="bold"))
#...
我如何或可以保存
my_theme <- ylab("my y axis") +
xlab("my x axis") +
opts(title = "my title") +
theme(axis.text=element_text(size=20),
axis.title=element_text(size=14,face="bold"))
作为自己喜欢的对象添加到ggplot中。 ggplot是否足够灵活以适应我的需求?
ggplot(data = df, aes(x = x, y = y) + geom_point() +
my_theme
这个问题是否违反了ggplot建立的对象命名哲学?
最佳答案
您可以毫无问题地创建主题对象,例如:
mytheme<-theme(panel.background=element_rect(colour="green"))
如果这是您键入的标准主题,它甚至更加容易
old_theme<- theme_update(panel.background=element_rect(colour="green"))
在前一种情况下,您将编写:
ggplot(...)+mytheme
而在后者中,由于您的自定义主题现在是标准主题,因此只需键入:
ggplot(...)
关于r - ggplot主题格式可以保存为对象吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23173915/