首页 > 代码库 > ggplot2绘图入门系列之三:位置调整与条形图

ggplot2绘图入门系列之三:位置调整与条形图

    位置调整(Position adjustments)是针对同一图层内元素的位置进行微调的方法。它包括五种设置,分别是stack、dodge、fill、identity、jitter。

我们用条形图来展示其用法,仍使用mpg数据集,其中用到的变量是class,即生产汽车的类型,以及year生产年份。下面的条形图是将各类型的汽车数量进行汇集,并以年份作为分组变量。我们首先载入扩展包,然后用频数表对数据进行大致的了解,最后绘制了四种条形图。

1 library(ggplot2)2 with(mpg,table(class,year))3 p <- ggplot(data=http://www.mamicode.com/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=http://www.mamicode.com/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