分面順序問題的解決
有張圖
library('ggplot2')
ggplot(data = Salaries,aes(x = rank,y = salary,fill = sex))+
geom_boxplot()+
facet_wrap(~rank,nrow = 1,scales = 'free_x')+
scale_x_discrete(breaks = cc,
labels = c('Assistant\nProfessor',
'Associate\nProfessor',
'Full\nProfessor'))+
scale_y_continuous(breaks = c(50000,10000,150000,200000),
labels = c('$50K','$100K','$150K','$200K'))+
labs(title = 'Faculty Salary by Rank Sex',y = '',x = '')+
theme(legend.position = c(.1,.8),
panel.background = element_blank(),
axis.line = element_line(colour = "black"))+
scale_fill_npg()
image.png
默認分面的順序是按照字母的順序進行的拨拓,從A到Z温学,
但是有時候我們不想這樣,如圖要是我們想 fullprofessor 在前掉房,這個時候就有問題了,難為了我好久慰丛,自己的數(shù)據(jù)并非如此卓囚,但是遇到的確實這個問題。就百思不得其解诅病,一個一個試哪亿,發(fā)現(xiàn)只要分面設(shè)置好了,無論x軸的橫坐標順序如何變化贤笆,只要分面一加上蝇棉,就立馬唧唧。
試了好多后芥永,發(fā)現(xiàn)是最初的夢想有問題——可能是是我給的就有問題篡殷,沒順序,他就默認是字母順序了—把分面的參數(shù)因子順序改一下就好了
dat =Salaries ##自帶數(shù)據(jù)改不了埋涧,只能重新賦值一下了板辽。
dat$rank = factor(dat$rank,levels = c('Prof','AssocProf','AsstProf'))
ggplot(dat,aes(x = rank,y = salary,fill = sex))+
geom_boxplot()+
facet_wrap(~rank,nrow = 1,scales = 'free_x')+
scale_x_discrete(breaks = cc,
labels = c('Assistant\nProfessor',
'Associate\nProfessor',
'Full\nProfessor'))+
scale_y_continuous(breaks = c(50000,10000,150000,200000),
labels = c('$50K','$100K','$150K','$200K'))+
labs(title = 'Faculty Salary by Rank Sex',y = '',x = '')+
theme(legend.position = c(.2,.8),
panel.background = element_blank(),
axis.line = element_line(colour = "black"))+
scale_fill_npg()
image.png
結(jié)果還可以奇瘦,順利解決!技能加一劲弦!