搜索
查看: 745|回复: 1

[R] 跟着高手一起啃R语言(3)

[复制链接]

6

主题

11

帖子

105

积分

注册会员

Rank: 2

积分
105
发表于 2018-9-4 23:16:04 | 显示全部楼层 |阅读模式
本帖最后由 xray19 于 2018-9-4 23:20 编辑

练习:stroke这个图形属性的作用是什么?附带加深对图形形状性质的理解。
1,为了偷懒少敲字,先建立一个带有全局映射的基本数据图层p;
[AppleScript] 纯文本查看 复制代码
p<-ggplot(data=mpg,aes(x=displ,y=hwy))


2,先画个默认参数下的point图,为了养眼,加上了colour=天蓝色;
[AppleScript] 纯文本查看 复制代码
p+ geom_point(colour="sky blue")



3,加上stroke=2参数看看怎么样,结果不加不知道,一加我去,这不是跟size=2一个意思么!?
[AppleScript] 纯文本查看 复制代码
p+ geom_point(stroke=2, colour="sky blue")



4,为了确认与size参数的区别,单独跑了一下size=2参数下的point,比较了一下结果还是有所不同的,size=2明显小于stroke=2啊。。。
[AppleScript] 纯文本查看 复制代码
p+ geom_point(size=2, colour="sky blue")



5,好吧,查看下帮助吧,原来是point的边界(border)[size=13.333333015441895px]宽度,恍然大悟。。。
[AppleScript] 纯文本查看 复制代码
p+ geom_point(shape=21, size=3, stroke=2, fill= "red", colour="sky blue")



6,但是。。。shape=21是个什么鬼?删掉看看。。。
[AppleScript] 纯文本查看 复制代码
p+ geom_point(size=3, stroke=2, fill= "red", colour="sky blue")


结果悲剧了,明明我设置的fill=红色,这么出来的图全都是一抹的天蓝色呢?

7,再加上shape参数试一试
[AppleScript] 纯文本查看 复制代码
p+ geom_point(shape=1, size=3,stroke=2, fill= "red", colour="sky blue")


实心变成了空心,但还是一抹的天蓝色,tm我设置的一颗红心儿哪去了?

8,再换下shape参数试一试
[AppleScript] 纯文本查看 复制代码
p+ geom_point(shape=23, size=3,stroke=2, fill= "red", colour="sky blue")


好吧,久违的红心又出来了。。。

9,那么把一个连续变量映射给stroke,points会不会出现从细到粗的border呢?为了便于观察,同时把该连续变量映射给size;
[AppleScript] 纯文本查看 复制代码
p+geom_point(shape=21,colour="sky blue",fill="red",aes(stroke=cyl/3,size=cyl))



结果确实如设想的那样,border根据cyl的赋值,从细到粗的变化非常明显。但是,箭头处的“靶心”是个什么鬼?

10, 加个位置position的参数,先把这些points区分开来看看再说。
[AppleScript] 纯文本查看 复制代码
p+geom_point(shape=21, position="jitter",colour="sky blue",fill="red",aes(stroke=cyl/3,size=cyl))


哈,原来是两个位置一样的点,但stroke和size属性不一样的点重叠在了一起,jitter一下一目了然。

小结:
1,空心形状如shape=1的边界颜色由color决定,实心形状如shape=16的填充颜色有color决定,填充形状如shape=21的边界颜色由color决定,填充颜色由fill决定。
2,stroke参数只能适用于空心形状和填充形状,不适用于实心形状。








本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x



上一篇:跟着高手一起啃R语言(2)
下一篇:0904 R数据科学啃书
回复

使用道具 举报

25

主题

49

帖子

351

积分

中级会员

Rank: 3Rank: 3

积分
351
发表于 2018-9-6 17:01:12 | 显示全部楼层
应该设置个点赞的功能,不知道该说什么只想点赞。
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|生信技能树 ( 粤ICP备15016384号  

GMT+8, 2019-7-24 09:14 , Processed in 0.029004 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.