前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R语言可视化——散点图及其美化技巧!

R语言可视化——散点图及其美化技巧!

作者头像
数据小磨坊
发布2018-04-11 11:53:53
2.3K0
发布2018-04-11 11:53:53
举报
文章被收录于专栏:数据小魔方数据小魔方

今天开始跟大家分享散点图及其美化技巧!

R语言中的散点图需要两个数值型变量分别作为X轴、Y轴映射对象,同时通过颜色、大小、形状进行分类变量映射。

由于散点图在数据量较多的情况下效果更佳,这里使用ggplot包内自带的数据集diamonds进行案例演示。

ggplot(diamonds,aes(carat,price))+geom_point()

在R中制作散点图的基本语法如上,数据集、X轴、Y轴,最后是散点图图层。

以上散点图是最简单的不加任何修饰的默认图形,通过在aes映射中添加分类变量,以大小、颜色、形状进行区分,就可以制作出多系列散点图。

散点图(形状分类)

ggplot(diamonds,aes(carat,price))+geom_point(aes(shape=cut))

散点图(颜色分类)

ggplot(diamonds,aes(carat,price))+geom_point(aes(colour=cut))

散点图(大小分类)

ggplot(diamonds,aes(carat,price))+geom_point(aes(size=cut))

也可以同时在一个函数语句中加入两个以上的分类指标参数。

ggplot(diamonds,aes(carat,price))+geom_point(aes(colour=cut,size=table))

由于该数据集记录较多,所以数据点相互重合,很多区域很难辨识,R语言中提供了两种处理方式:

使用alpha参数(透明化处理):

ggplot(diamonds,aes(carat,price))+geom_point(alpha = 1/10)

使用像素级散点图:

ggplot(diamonds,aes(carat,price))+geom_point(shape=".")

由于散点图可以通过添加size参数用来展示某一指标在散点上的大小,所以基本也不需要单独的气泡图函数。

以上散点图都没有考虑过美化的问题;这里通过添加主题、颜色模板可以将其美化:

ggplot(diamonds,aes(carat,price))+geom_point(aes(colour=cut))+ggtitle("Scatter Plot")+theme_economist(base_size=14)+scale_colour_economist()+guides(colour=guide_legend(title=NULL))

ggplot(diamonds,aes(carat,price))+geom_point(aes(colour=cut,size=table))+ggtitle("Scatter Plot")+theme_wsj()+scale_colour_wsj()+guides(size=guide_legend(title=NULL),colour=guide_legend(title=NULL))

ggplot(diamonds,aes(carat,price))+geom_point(aes(colour=cut,size=table))+ggtitle("Scatter Plot")+theme_economist(base_size=14)+scale_colour_economist()+guides(size=guide_legend(title=NULL),colour=guide_legend(title=NULL))

当然,如果你觉得上数据集太过密集,想要看某一个区域内的具体分布情况,只需要添加xlim()、ylim()参数即可:

ggplot(diamonds,aes(carat,price))+geom_point(aes(colour=cut,size=table))+ggtitle("Scatter Plot")+theme_wsj()+scale_colour_wsj()+guides(size=guide_legend(title=NULL),colour=guide_legend(title=NULL))+xlim(1,2)+ylim(5000,10000)

ggplot(diamonds,aes(carat,price))+geom_point(aes(colour=cut,size=table))+ggtitle("Scatter Plot")+theme_economist(base_size=14)+scale_colour_economist()+guides(size=guide_legend(title=NULL),colour=guide_legend(title=NULL))+xlim(1,2)+ylim(5000,10000)

最后,如果你想要拟合出该数据集的走势曲线,也可以通过添加geom_smooth()参数实现:

ggplot(diamonds,aes(carat,price))+geom_point()+geom_smooth(method='lm')+theme_classic()

散点图函数结合统计变换之后可以衍生无穷多中图表类型,具体的图表类型细节,可以参考哈德利的ggplot原著。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-09-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据小魔方 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档