我已經創建了箱型圖,左側的數據是連續變量,右側的數據有大約10個獨特選項。當我創建boxplot時,我看不到標籤。我如何讓它顯示所有標籤,可能是垂直的?如何顯示所有箱型標籤
boxplot(data$Rate ~ as.factor(data$Purpose))
我環顧四周,不能解決什麼我試圖遵循。
我已經創建了箱型圖,左側的數據是連續變量,右側的數據有大約10個獨特選項。當我創建boxplot時,我看不到標籤。我如何讓它顯示所有標籤,可能是垂直的?如何顯示所有箱型標籤
boxplot(data$Rate ~ as.factor(data$Purpose))
我環顧四周,不能解決什麼我試圖遵循。
您可以將參數las=2
添加到功能boxplot()
以使所有標籤都與軸垂直。
df<-data.frame(Rate=rnorm(100),Purpose=rep(letters[1:10],each=10))
boxplot(df$Rate~df$Purpose,las=2)
如果您的標籤名稱很長,那麼您還應該調整繪製邊距。
par(mar=c(7,5,1,1))
boxplot(df$Rate~df$Purpose,las=2)
當你想精確指定座標軸的標籤,這是我使用的策略:
##Generate a boxplot without axes
boxplot(count ~ spray, data = InsectSprays, axes=FALSE)
##Add in a y-axis
axis(2, seq(0,25, 5), seq(0, 25, 5))
##Add in an x-axis
##las=2 changes the orientation
axis(1, 1:6, paste("Big Label", 1:6), las=2)
有關於如何在基礎圖形旋轉軸標籤將R常見問題的條目:
http://cran.r-project.org/doc/FAQ/R-FAQ.html#How-can-I-create-rotated-axis-labels_003f
但我本人來說更喜歡使用ggplot2
,這使得它更容易:
data <- data.frame(Rate=rnorm(1:1000),Purpose=sample(c("foo","bar","baz"),1000,replace=TRUE))
ggplot(data, aes(x=factor(Purpose), y=Rate)) + geom_boxplot() + theme(axis.text.x = element_text(angle=90, vjust=0.5))
+1嗯,這是比在R常見問題給出的解決方案... – juba 2013-02-14 10:42:38
的'las'策略限制爲4角輕鬆了許多。常見問題'文本(......,srt = | angle |,xpd = TRUE)'策略爲您提供360個可能的角度 – 2013-02-14 10:49:02