ggplot2 scale相关设置

Posted molearner

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ggplot2 scale相关设置相关的知识,希望对你有一定的参考价值。

 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则只能用于离散型数据。

 

以上是关于ggplot2 scale相关设置的主要内容,如果未能解决你的问题,请参考以下文章

R语言ggplot2可视化地图并使用scale_fill_gradient函数自定义设置地图颜色刻度为灰色梯度刻度(grey gradient scales)

ggplot2渐变如何设置自定义颜色和值?

将多个输出中的hls属性设置为单独的片段代码

R语言ggplot2可视化分组散点图使用scale_shape_manual函数scale_color_manual函数scale_size_manual函自定义设置分组散点的形状大小颜色

如何修复 R 代码(ggplot2)中 scale_x_date 的参数?

R语言与医学统计图形-11ggplot2几何对象之散点图