我的自定义 ggplot2 主题有问题。在我自定义的主题中,所有文本的角度=0,这是描述主题时的必需选项。但是随后通过 y 轴标签也水平定向,而我希望它在角度 = 90 处,因为它不适合绘图。我的自定义主题代码是:
windowsFonts(Courier=windowsFont("Courier"))
my_theme<-function (base_size = 12, base_family = "")
{
theme(text = element_text(size = base_size, family = "Courier", face
= "plain",
colour = "black", hjust = 0.5, vjust = 0.5,
angle = 0, lineheight = 0.9),
axis.text = element_text(size = rel(0.8)),
axis.ticks = element_line(colour = "black"),
axis.title.y = element_text(vjust=0.1,angle=90),
legend.key = element_rect(colour = "grey80"),
plot.title = element_text(size = rel(2), colour = "blue",face="bold"),
legend.title = element_text(size = rel(1), colour = "blue"),
panel.background = element_rect(fill = "white",colour = NA),
panel.border = element_rect(fill = NA, colour = "grey50"),
panel.grid.major = element_line(colour = "grey50", size = 0.33,linetype="dashed"),
panel.grid.minor = element_blank(),
strip.background = element_rect(fill = "grey80", colour = "grey50"),
strip.background = element_rect(fill = "grey80", colour = "grey50"))
}
在这里我添加了axis.title.y=element_text(vjust=0.1,angle=90),但是当我绘制绘图时仍然是角度=0。然后我再次手动添加:
p <- ggplot(data, aes(x=variable))
p + geom_histogram()+
labs(title = "Plot title",x = "X title", y="Y title")+
my_theme()+theme(axis.title.y=element_text(angle=90))
但仍然没有运气。当我在没有主题的情况下绘制情节时,一切都很好,所以我猜是 text=element_text(...) 的“角度”选项固定情节中任何文本的角度。使用主题时如何使 y 轴标题旋转的任何选项?任何建议都非常感谢:)
UPD:使用 ggplot2 包中的 diamonds db 的示例:数据集的负责人:
carat price color clarity
1 0.23 326 E SI2
2 0.21 326 E SI1
3 0.23 327 E VS1
4 0.29 334 I VS2
5 0.31 335 J SI2
6 0.24 336 J VVS2
7 0.24 336 I VVS1
8 0.26 337 H SI1
9 0.22 337 E VS2
10 0.23 338 H VS1
正如它所看到的,该图没有显示完整的标题,因为它在左侧裁剪
data(diamonds)
p <- ggplot(data=diamonds, aes(x=clarity, y=price, fill=clarity))
p+geom_bar(width=.7, stat="identity") +
+ guides(fill=FALSE)+my_theme()+theme(
+ axis.title.y=element_text(angle=90))+
+ xlab("X title")+ylab("Y title")+
+ ggtitle("The big title")