需要支持格式化x轴组标签以不重叠
问题描述:
我已经使用ggplot2软件包在R中创建了一些数据的缺口盒图。我有一个问题,即x轴元素文本使我的组标签重叠,这是我不想要的。需要支持格式化x轴组标签以不重叠
我也不想旋转标签。优选地,我希望每个标签都水平书写,但是继续在“单独”行上。因此,(例如)标签Carboniferous Lst。显示为两个单词,第二个单词“石灰石”水平写在石炭纪下方。我无法缩小字体大小,因为读起来太难了。
有谁知道在R的ggplot中是否有一个命令来处理这个问题?
很多,非常感谢
达米亚诺
PS:我当前的代码是:
box <- ggplot(AquiProps, aes(Geology, logTRANS))
box + geom_boxplot(notch = TRUE)
+ labs(x = "", y = "Mean log Transmissivity(m2/d)")
+ theme(axis.title = element_text(face = "bold", size = "12", color = "black"),
axis.text = element_text(size = 10, face = "bold", color = "black"),
axis.title.y = element_text(vjust = 1),
axis.title.x = element_text(vjust = 0.005))
我想我需要改变在axis.title.x = element_text命令的东西? ?!
答
是否这样?
# create example
set.seed(1)
names <- paste("Carboniferous Species:",1:8)
df <- data.frame(names=rep(names,each=100),values=rnorm(800))
library(ggplot2)
ggplot(df,aes(x=names,y=values))+
geom_boxplot(notch=TRUE)+
scale_x_discrete(labels=gsub("(Carboniferous)","\\1\n",unique(df$names)))+
theme(axis.title = element_text(face = "bold", size = "12", color = "black"),
axis.text = element_text(size = 10, face = "bold", color = "black"),
axis.title.y = element_text(vjust = 1),
axis.title.x = element_text(vjust = 0.005))
上述插入线的代码分解成使用scale_x_discrete(labels=...)
轴标签。
你也可以插入该行直接闯入你的数据,使用例如为:
df$names <- gsub("(Carboniferous)","\\1\n",df$names)
那么你的代码编写会产生上述相同的情节。
“AquiProps”是R中的一个内置数据集吗?如果没有,那么你的代码没有数据就没有帮助。如果它是内置的,那么什么包? – jlhoward 2014-11-04 22:25:18