上一篇讲到了条形图的深加工,我们谈了几个参数,包括颜色,统计变换,位置摆放,透明度,标题,标尺,坐标轴刻度,图例等等,这些东西基本上就已经涵盖了GGPLOT2中的画图要素,接下来的画其他图形也是照本宣科,套用这些就可以啦.,具体感受让我们在实际画图中去感受.这一篇将会连续的讲几个图形类型.包括点图,线图,散点图.
1.线图
线图的基本操作在第一篇中已经讲到了,这里不做介绍,具体参看:http://www.ppvke.com/Blog/archives/30457
值得注意的第一个问题.当我们画线图时,若X轴为因子型,y轴为数值型时,我们一定要加group=这个参数,否则将会出错.
ggplot(BOD1, aes(x=Time, y=demand,group=1)) + geom_line()
另外y坐标轴一般能包含数据集中y出现的所有数,但有时候,你希望Y轴是从0开始的,或者自己设定范围,我们可以用ylim=(0 ,10 )或者expan_limits(y=0)以下两行代码是等价的,
ggplot(BOD, aes(x=Time, y=demand)) + geom_line() + ylim(0, max(BOD$demand))
ggplot(BOD, aes(x=Time, y=demand)) + geom_line() + expand_limits(y=0)
2.点图.
基本操作也都介绍过,这里只介绍一个案例,如下
先看数据集
ggplot(tophit, aes(x=avg, y=name)) + geom_point()
新增这个theme_bw()底纹没了.这就是控制底纹的
ggplot(tophit, aes(x=avg, y=reorder(name, avg))) +
geom_point(size=3) +theme_bw()
ggplot(tophit, aes(x=avg, y=reorder(name, avg))) +
geom_point(size=3) +
theme_bw() +
theme(panel.grid.major.x = element_blank(),
panel.grid.minor.x = element_blank(),
panel.grid.major.y = element_line(colour="grey60", linetype="dashed"))
我们发现网格线竖着的没了panel.grid.major.x = element_blank(),,横着的变虚线了. panel.grid.major.y = element_line(colour="grey60", linetype="dashed"))
ggplot(tophit, aes(x=reorder(name, avg), y=avg)) +
geom_point(size=3) +
theme_bw() +
theme(axis.text.x = element_text(angle=60, hjust=1),
panel.grid.major.y = element_blank(),
panel.grid.minor.y = element_blank(),
panel.grid.major.x = element_line(colour="grey60", linetype="dashed"))
标签旋转60度,方便查看axis.text.x = element_text(angle=60, hjust=1)
ggplot(tophit, aes(x=avg, y=name)) +
geom_segment(aes(yend=name), xend=0, colour="grey50") +
geom_point(size=3, aes(colour=lg)) +
scale_colour_brewer(palette="Set1", limits=c("NL","AL")) +
theme_bw() +
theme(panel.grid.major.y = element_blank(),
legend.position=c(1, 0.55),
legend.justification=c(1, 0.5))
垂线的效果geom_segment(aes(yend=name), xend=0, colour="grey50")
3.对比作图,
有时一幅图里要画出两个变量来做对比,我们可以用fill=分类变量来用不同颜色代表笔筒的变量,或linetype=分类变量用不同线型来表示不同的变量,用shape=分类变量用不同的点型表示不同的变量,具体见下面:
先看数据:
ggplot(tg, aes(x=factor(dose), y=length, colour=supp, group=supp)) + geom_line()
ggplot(tg, aes(x=factor(dose), y=length, linetype=supp, group=supp)) + geom_line()
当我们对上面所做的图颜色不满意时,我们想修改,可是colour参数 已经使用了.怎么办?这时我们便用到了scale使用scale_colour_manial( )便可自己修改颜色.
来看一个面积填充对比图,先看数据:
ggplot(uspopage, aes(x=Year, y=Thousands, fill=AgeGroup)) + geom_area()
这篇文章就先介绍到这里,其实我只是通过一个个例子来介绍一些功能,其中有很多参数设置,同样也适用于其他类型的作图,在大致了解所有的设置后,我们再来一个汇总,看看到底哪些图层可以使用哪些参数.也欢迎你继续关注.
未完待续,
PPV原创文章,严禁转载. (文:@白加黑治感冒)