2014-11-04 45 views
1

我已經使用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命令的東西? ?!

+0

「AquiProps」是R中的一個內置數據集嗎?如果沒有,那麼你的代碼沒有數據就沒有幫助。如果它是內置的,那麼什麼包? – jlhoward 2014-11-04 22:25:18

回答

4

是否這樣?

# 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) 

那麼你的代碼編寫會產生上述相同的情節。