2013-02-14 24 views
11

Tôi đã tạo một ô ô, dữ liệu ở bên trái là biến liên tục và dữ liệu ở bên phải có khoảng 10 tùy chọn duy nhất. Khi tôi tạo ra các boxplot tôi không thể nhìn thấy các nhãn. Làm thế nào để làm cho nó hiển thị tất cả các nhãn, có thể theo chiều dọc?Làm cách nào để hiển thị tất cả các nhãn hộp mực

boxplot(data$Rate ~ as.factor(data$Purpose)) 

Tôi đã xem xét và không thể tìm ra những gì tôi đang cố gắng theo dõi.

Trả lời

30

Bạn có thể thêm đối số las=2 để hoạt động boxplot() để làm cho tất cả các nhãn vuông góc với trục.

df<-data.frame(Rate=rnorm(100),Purpose=rep(letters[1:10],each=10)) 
boxplot(df$Rate~df$Purpose,las=2) 

Nếu tên nhãn của bạn dài thì bạn cũng nên điều chỉnh lề lô.

par(mar=c(7,5,1,1)) 
boxplot(df$Rate~df$Purpose,las=2) 
+0

+1 Vâng, đó là dễ dàng hơn rất nhiều so với các giải pháp được đưa ra trong FAQ R ... – juba

+1

Lệnh 'chiến lược las' được giới hạn ở 4 góc. Câu hỏi thường gặp về 'text (..., srt = | angle |, xpd = TRUE)' cung cấp cho bạn 360 góc có thể –

6

Khi bạn đang muốn xác định một cách chính xác các trục của nhãn, đây là chiến lược tôi sử dụng:

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

Có một mục trong FAQ R trên làm thế nào để xoay trục nhãn trong đồ họa cơ sở:

http://cran.r-project.org/doc/FAQ/R-FAQ.html#How-can-I-create-rotated-axis-labels_003f

Nhưng tôi personaly sẽ thích sử dụng ggplot2, mà làm cho nó dễ dàng hơn:

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

enter image description here

Các vấn đề liên quan