位置調整(Position adjustments)是針對同一圖層內元素的位置進行微調的方法。它包括五種設置,分別是stack、dodge、fill、identity、jitter。
我們用條形圖來展示其用法,仍使用mpg數據集,其中用到的變量是class,即生產汽車的類型,以及year生產年份。下面的條形圖是將各類型的汽車數量進行匯集,並以年份作為分組變量。我們首先載入擴展包,然后用頻數表對數據進行大致的了解,最后繪制了四種條形圖。
1 library(ggplot2) 2 with(mpg,table(class,year)) 3 p <- ggplot(data=mpg,aes(x=class,fill=factor(year))) 4 p + geom_bar(position='dodge') 5 p + geom_bar(position='stack') 6 p + geom_bar(position='fill') 7 p + geom_bar(position='identity',alpha=0.3)
可以看到dodge方式是將不同年份的數據並列放置;stack方式是將不同年份數據堆疊放置,這也是geom_bar的默認處理方式;fill方式和stack類似,但Y軸不再是計數,而是以百分比顯示;identity方式是不做任何改變直接顯示出來,所以需要設置透明度才能看得清楚。
geom_bar是繪制條狀幾何對象,所以也可以用不經匯集的原始數據進行繪圖。下面我們用2001到2010年間的美國GDP增長率舉個例子。
1 y=c(1.1,1.8,2.5,3.6,3.1,2.7,1.9,-0.1,-3.5,3.0) 2 x=2001:2010
3 data=data.frame(x,y) 4 p=ggplot(data,aes(x,y,fill=y)) 5 p+geom_bar(stat="identity")+
6 geom_abline(intercept = 0, slope = 0,size=1,colour='gray')+
7 geom_text(aes(label=y),hjust=0.5, vjust=-0.5 )+
8 scale_y_continuous(limits=c(-3.8,4.2))+
9 labs(x='年份', y='GDP增長率%')+
10 opts(title = "美國GDP增長率")
轉載於:http://r-ke.info/2012/02/08/ggplot2-intro-3.html





