Если я построю график с помощью ggplot, у меня будут метки оси x в порядке (рисунок 1).Я не хочу алфавитный порядок, поэтому я использую взаимодействие.График выглядит так, как ожидалось, но на оси х слишком много информации для отображения (рисунок 2).Есть ли другой способ построить без использования взаимодействия и метки оси X не в алфавитном порядке?Спасибо.
Figure 1
Figure 2
Я хочу показать наось x "item" только вместо "type.item".Ниже приведен простой код и данные.
library("ggplot2")
library("plyr")
df<-data.frame(I = c(25, 25, 25, 25, 25, 85, 85, 85, 125, 125),
V =c(1.03, 1.06, 1.1,1.08,1.87,1.56,1.75,1.82, 1.85, 1.90),
type=c(2,2,2,2,2,2,2,2,2,2))
df1<-data.frame(I = c(26, 26,26,86, 86, 86, 86, 126, 126,126),
V =c(1.13, 1.24,1.3,1.17, 1.66,1.76,1.89, 1.90, 1.95,1.97),
type=c(5,5,5,5,5,5,5,5,5,5))
main <- rbind(df,df1)
main$type <- as.factor(main$type)
main$I <- as.factor(main$I)
main <- transform(main, type = revalue(type,c("2"="type2",
"5"="type5")))
main <- transform(main, I = revalue(I,c("25"="item25", "85"="item85",
"125"="item125", "26"="item26", "86"="item86", "126"="item126")))
main$I_type <- interaction(main$I,main$type)
ggplot(aes(y = V, x= I_type), data=main)+
geom_boxplot(outlier.colour=NA,aes(color=type),size=.4,
position='identity',width= .3) + theme_bw() +
theme(axis.text.x = element_text(angle = 90, hjust = 1))