前面讲到了,使用ggplot2解决图形的重叠问题,还有给图表添加说明等,加之补充了箱线图和小提琴图,今天,主要来讲讲如何调整坐标轴的相关设置,包括坐标轴刻度,坐标轴标签,变换坐标系,然后讲讲ggplot2中重要的一个函数:facet.那么加之前面的四篇,ggplot2的基本画图就差不多了,能够把这些基本的知识融合起来,我们还需要学习一下ggplot2 的思想,就好像是语法吧,这会在下一篇讲,还是按照刚开始的那种想法,先不去管什么思想什么的,先看看实例,动手先画画,见识之后,再来探讨那些思想啊理论啊,可能会更加的自然和深刻.那么先来看看坐标轴可以怎么修改.
1.旋转xy轴.
ggplot(PlantGrowth, aes(x=group, y=weight)) + geom_boxplot() + coord_flip()
2.设定坐标轴刻度的范围
ggplot(PlantGrowth, aes(x=group, y=weight)) + geom_boxplot() + coord_flip()+
ylim(0, max(PlantGrowth$weight))
同时我们也可以使用
ylim(0, 10)
或者
scale_y_continuous(limits=c(0, 10))
都可以改变刻度的范围.同样X轴的范围也可以这么改,值得注意的是坐标轴变量得是连续型的,对于离散型的我们用scale_x_discrete( limits( ) )来自定义范围与顺序.
3.改变坐标轴的方向
ggplot(PlantGrowth, aes(x=group, y=weight)) + geom_boxplot() + coord_flip()+
scale_y_reverse(limits=c(6, 0))
4.缩放:coord_fixed(ratio=0.5)
添加标签:scale_x_discrete(labels=c("xxx") )
自定义刻度线 scale_x_discrete(breaks=c( ) )
ggplot(PlantGrowth, aes(x=group, y=weight)) + geom_boxplot() + coord_flip()+
scale_y_reverse(limits=c(6, 0),breaks=c(1,2,3,4,5,6))
ggplot(PlantGrowth, aes(x=group, y=weight)) + geom_boxplot() + coord_flip()+
scale_y_reverse(limits=c(6, 0),breaks=c(1,2,3,4,5,6),labels=c("一","二","三","四","五","六"))
看到坐标的区别了吗?
5.标签旋转,移除标签,颜色,大小都可以设定.添加标题
ggplot(PlantGrowth, aes(x=group, y=weight)) + geom_boxplot() + coord_flip()+
scale_y_reverse(limits=c(6, 0),breaks=c(1,2,3,4,5,6),labels=c("一","二","三","四","五","六"))+
theme(axis.text.x=element_text(colour="red",size=10,angle=-60) )+
6.变换坐标系:
ggplot(wind, aes(x=DirCat, fill=SpeedCat)) +
geom_histogram(binwidth=15, boundary=-7.5, colour="black", size=.25) +
guides(fill=guide_legend(reverse=TRUE)) +
coord_polar()
7.关于facet
facet就是基本绘图中的par(mfrow=c( ))即排版.这里facet可以后接一个变量,那么它会根据变量的水平来画出不同的图,然后并排在一张画板上以供对比,
ggplot(mpg, aes(x=displ, y=hwy)) + geom_point()+ facet_grid(drv ~ .)
看看这样ggplot(mpg, aes(x=displ, y=hwy)) + geom_point()+ facet_grid(. ~ cyl)的区别,发现没一个横排一个竖排.
再看看这个ggplot(mpg, aes(x=displ, y=hwy)) + geom_point()+ facet_grid(drv ~ cyl) 发现是横着按drv ~ cyl组成的矩阵排的
当然还有很多参数可以来设定facet的美观,这里仅是展示基本的功能,方便记忆.先了解大致的画图的框架,以后如要深入修改,可以拿着书一查询参数,就可以.那么这篇就讲到这,关于坐标轴和分面.下篇讲一下其他的图形.以及综合前面几篇内容.欢迎继续阅读.
未完待续,
PPV原创文章,严禁转载. (文:@白加黑治感冒
-大数据培训讲师
国内领先的大数据学习社区和职业培训平台,欢迎关注!