ggplot2 scale相关设置
标度设置:主要用于在ggplot画图后的各个图层进行调整设置。
1、相关属性scale设置
包括scale_size()、scale_alpha()、scale_shape()
由上面的名称可以看出,这三个设置主要对ggplot的图层属性进行相关设置,包括尺寸、透明度和形状。
以下列出该设置的主要参数:
scale_xxx(name = waiver(), breaks = waiver(), labels = waiver(), limits = NULL, range = c(1, 6),.....)
由上面参数可以看出,我们可以对该属性进行,name命名,breaks设置组别,labels组别标签,limits限定坐标轴范围或组别排序,这几个参数在大多数scale设置中基本上都会用到。range设置尺寸大小范围,这个参数在其他设置中相对少见。
下面提供些例子作为参考:以R自带的iris数据集作为样本
library(ggplot2) p<-ggplot(iris,aes(Sepal.Width,Sepal.Length,size=Petal.Width)) p+geom_point()
#标准情况下画出来的散点图
p+geom_point()+scale_size("花瓣宽度",limits=c(0.2,0.8))
#从下图可以看到,图例的名称已经被更改,同时与上图相比,这里只显示了部分数据,图中点的大小也被相应的放大,这是由于使用limits参数限定,使得限定范围以外的数据会被丢弃。
p+geom_point()+scale_size("花瓣宽度",limits=c(0.2,0.8),range=c(1,3))
#在上图的基础上,修改range参数后,图中的点的大小比例再一次进行了缩放,从两图对比可以看出limits设置是针对数据的范围进行裁剪,而range设置纯粹的针对点的大小。
#另外,值得注意的是scale_size()基本上只作用于散点图,同时与之对应的还有一个scale_radius()是对点进行设置半径,相比较而言scale_radius()基本上很少用到。
#最后scale_size诸多设置也可以用scale_size_area()进行设置。
#接下来,了解下scale_alpha()相关设置,基本上和scale_size()类似
p+geom_point()+scale_alpha("花瓣宽度",breaks=c(0.2,0.4,0.6,0.8))
#强行对透明度设置自定义分组
p+geom_point()+scale_alpha("花瓣宽度",breaks=c(0.2,0.4,0.6,0.8), labels=c("很差","差","好","很好"))
#对每个分组标签进行重新命名
#另外,scale_alpha()诸多设置也可以用scale_alpha_area()进行设置
从以上的相关设置,可以基本了解以上三个scale设置过程,以及相关参数的作用。
最后,在提一点:scale_size()和scale_alpha() 在离散型和连续型数据中都可以用,而scale_shape则只能用于离散型数据。