Подтвердить что ты не робот

Как показать все ярлыки boxplot

Я создал график, данные слева - это непрерывная переменная, а данные справа имеют около 10 уникальных опций. Когда я создаю коробку, я не вижу метки. Как мне показать все ярлыки, возможно, вертикально?

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

Я огляделся и не могу понять, что я пытаюсь выполнить.

4b9b3361

Ответ 1

Вы можете добавить аргумент 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)

Ответ 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)

Ответ 3

В часто задаваемых вопросах 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))

enter image description here