【R与数据可视化】ggplot2包简单介绍
摘要
ggplot2包是一个优秀而强大的数据可视化R包,是R画图的一种常用手段。
【R语言】致力于传播R知识,包括【R每日一帖】、【R书籍推荐】、【R案例分享】,【R那些事】和【R微课】栏目。在这大数据时代里,从数据中找出价值,既是机遇又是挑战。R语言可以帮助我们获取数据、处理数据、分析数据、展示数据和理解数据,以进行数据化决策!
ggpolt2包是Hadley Wickham设计和实现的R扩展包,是一个优秀且强大的数据可视化R包。这个包出现时间不长,但是得到R社区很多用户的青睐,主要归因于它功能丰富,可扩展性好以及美观的输出。
一 ggplot2包一些术语和理论。
1数据(data),我们想要可视化的原材料。它包含了变量,变量存储于数据框的每一列。
2几何对象(geom),它是呈现数据的几何图形的对象,如点、线条和条形等。
3图形属性(aesthetic),它是反映几何对象的视觉属性,如x坐标和y坐标、点的形状、线条的颜色等。
4映射(mapping),它是表示一种数据的值和图形的属性之间存在某一种对应关系。
5标度(scale),它是用来控制数据空间的值到图形属性空间的值的映射。例如一个连续型的y标度会将较大的数值映射至空间中纵向更高的位置。
6引导元素(guide),它是用来向用户解释如何将视觉属性映射回数据空间,最常用的引导元素是坐标轴上的刻度线和标签。
二 绘制一幅简单的图形
首先,准备一个含有一些样本数据的数据框
dat<- data.frame(xval=1:4, yval=c(3, 5, 6, 9),group=c("A","B","A","B"))
dat
一个基本的ggplot()调用范式如下所示:
ggplot(dat,aes(x=xval, y=yval))
说明:使用数据框dat创建一个ggplot对象,同时也在aes()中指定默认的图形属性映射:
x=xval将列 x的值映射到x的位置
y=yval将列y的值映射到y的位置
当我们赋给ggplot()数据和图形属性后,还需要一个关键组件:几何对象。通过几何对象可以实现把点、线条或者条形等绘制到图形。
第二步:我们首先生成ggplot()对象,并且使用点几何对象(geom_point())来绘制图形,我们可以得到一幅散点图,如图所示。
library(ggplot2)
ggplot(dat,aes(x=xval, y=yval)) + geom_point()
或者
p<- ggplot(dat, aes(x=xval, y=yval))
p+ geom_point()
第三步:把一个变量映射为颜色的散点图,如图所示。
ggplot(dat,aes(x=xval, y=yval)) + geom_point(aes(colour=group))
三 统计变换
在将数据映射到图形属性之前,有时候需要先对其做变换或者汇总。例如对于直方图来说,样本点先被分组然后进行计数,每组计数值用以指定一个条形的高度。
四 主题
通过theme()函数来控制图形的外观。
五 总结
利用R进行数据可视化,学习和使用ggplot2包,是一个值得付出的事情。利用ggplot2包,可以胜任我们大部分与数据可视化相关的任务。至于如何深入地学习和使用它,一方面阅读这个包的帮助文档,链接:http://docs.ggplot2.org/current/index.html,另一方面,多利用这个包来进行数据可视化。
后记:感谢朋友们的关注和支持,小编(wangluqing360)这段时间生病住院,目前身体在修养阶段。因而【R语言】有一段时间没有更新了。后续,小编(wangluqing360)会继续向朋友们分享与R语言相关的内容。欢迎更多的朋友投稿,投稿邮箱:1181906473@qq.com。小编(wangluqing360)请朋友们注意照顾好自己的身体!
微信公众号推荐
【数据科学自媒体】分享数据科学干货,让更多朋友认识和应用数据科学!请长按,选择识别二维码,就可以添加公众号。
◆互动交流
我是陆勤,微信号:wangluqing360,你们在R路上的朋友,一起欣赏R路上的风景。
大数据R语言群:342699237,大数据学习平台:www.ppvke.com,欢迎朋友们加入,共建最好的R社区。欢迎读者朋友们撰稿深度挖掘,回复消息给我留言或者邮件至1181906473@qq.com。
◆如何查看更多好文章
查看【历史记录】
请关注“恒诺新知”微信公众号,感谢“R语言“,”数据那些事儿“,”老俊俊的生信笔记“,”冷🈚️思“,“珞珈R”,“生信星球”的支持!