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数据集作为样本
1 2 3 | library (ggplot2) p<- ggplot (iris, aes (Sepal.Width,Sepal.Length,size=Petal.Width)) p+ geom_point ()<br><br> #标准情况下画出来的散点图 |
1 | p+ geom_point ()+ scale_size ( "花瓣宽度" ,limits= c (0.2,0.8))<br><br> #从下图可以看到,图例的名称已经被更改,同时与上图相比,这里只显示了部分数据,图中点的大小也被相应的放大,这是由于使用limits参数限定,使得限定范围以外的数据会被丢弃。 |
1 | p+ geom_point ()+ scale_size ( "花瓣宽度" ,limits= c (0.2,0.8),range= c (1,3))<br><br> #在上图的基础上,修改range参数后,图中的点的大小比例再一次进行了缩放,从两图对比可以看出limits设置是针对数据的范围进行裁剪,而range设置纯粹的针对点的大小。<br>#另外,值得注意的是scale_size()基本上只作用于散点图,同时与之对应的还有一个scale_radius()是对点进行设置半径,相比较而言scale_radius()基本上很少用到。<br>#最后scale_size诸多设置也可以用scale_size_area()进行设置。 |
1 | #接下来,了解下scale_alpha()相关设置,基本上和scale_size()类似<br>p+geom_point()+scale_alpha("花瓣宽度",breaks=c(0.2,0.4,0.6,0.8))<br>#强行对透明度设置自定义分组 |
1 2 | p+ geom_point ()+ scale_alpha ( "花瓣宽度" ,breaks= c (0.2,0.4,0.6,0.8), labels= c ( "很差" , "差" , "好" , "很好" ))<br> #对每个分组标签进行重新命名<br>#另外,scale_alpha()诸多设置也可以用scale_alpha_area()进行设置 |
从以上的相关设置,可以基本了解以上三个scale设置过程,以及相关参数的作用。
最后,在提一点:scale_size()和scale_alpha() 在离散型和连续型数据中都可以用,而scale_shape则只能用于离散型数据。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?