gplot2绘图思考

今天看了关于ggplot2绘图理念的一篇文章,解答了一些困惑,摘录了一些内容备忘。
感谢作者,放上知乎原文链接: 如何使用 ggplot2.

参数放不放在 aes 里面 ?

什么时候color、shape、size、fill写外面,什么时候写里面?
aes实际上做的是将aes里的向量的顺序逐个地绘制。任何与数据向量顺序相关,需要逐个指定的参数都必须写在aes里。
想统一整个图层时就放到aes外,想分成不同组调整,并且已经有一个与x、y长度一致的分组变量了,那就放到aes里。

1. 放在 aes 内部

p <- ggplot(mtcars, aes(wt, mpg)) #<---- code 1
p + geom_point(aes(colour = qsec)) #<---- code 2

code 1: ggplot首先载入了这个mtcars的集合,然后指定给了mpg作为其x坐标位置,wt为y坐标位置。
code 2: 指定了qsec作为其染色的标准(分组),qsec为numeric变量,因此,应该选择连续型的标尺,而不是分组染色。然后开始绘制,读取mtcars m p g [ 1 ] 、 m t c a r s mpg[1]、mtcars mpg[1]mtcarswt[1],确定位置,然后为其染成mtcars$qsec[1]颜色;再绘制第二点。

因此,aes里的美学特征其实就是按照向量顺序指定每个位置的美学特征

2. 不放在 aes 内部

p + geom_point(color = "green") 

所有点染成绿色

p + geom_point(aes(color = "green") )

所有点变成粉色(默认的第一种颜色),ggplot将"green"视为颜色变量

geom & stat 是两种绘图方法?

一直认为ggplot2绘图有两种函数,
一类是geom_,绘图用的;
一类是stat_,统计变换用的。
其实,不太恰当。

geom_point的默认stat=“identity”,即不做任何统计变换
stat_sum中还有个参数geom,可以设置成“point”

stat_和geom_并不是两种绘图方法,
其实它们是ggplot2每一个图层绘制都必须有的,
是一个图层的一体两面。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值