ggplot2学习之3——aes函数

2023-11-18

说明

R语言的版本为4.0.2,IDE为Rstudio,版本为1.3.959。学习的主要内容是R官方文档当中给出的算法,对其中的英文注释做了自己理解基础上的翻译。

函数名及参数

# 映射函数,函数的最常见参数有两个
# x:x向量,将数据映射到本图层的x轴
# y:y向量,将数据映射到本图层的y轴
# …:其他向量,将数据映射到本图层的其他几何要素上

library(ggplot2)
aes(x, y, ...)

1、基本用法

# 映射的两种基本写法

aes(x = mpg, y = wt)
aes(mpg, wt)

# 可以映射多变量函数到几何要素上

aes(x = mpg ^ 2, y = wt / cyl)

# 可以映射常量到几何要素上

aes(x = 1, colour = "smooth")

# 函数会自动补全参数名,以下四种写法等价

aes(col = x)
aes(fg = x)
aes(color = x)
aes(colour = x)

# 可以在ggplot()中设置全局默认映射,也可以单独为每一个图层设置映射

ggplot(mpg, aes(displ, hwy)) + geom_point()
ggplot(mpg) + geom_point(aes(displ, hwy))

2、函数的进一步封装

# 封装到自定义函数之后,该函数会自动调用它所有的参数
#    但是需要对自动调用的参数进行处理,使用...的形式代替最为简洁

scatter_by <- function(data, ...) {
  ggplot(data) + geom_point(aes(...))}
scatter_by(mtcars, disp, drat)

# 如果在封装时指定了具体的参数名,需要在函数内部重新引用参数名
# enquote():返参函数,重新引用参数保护原参数
# !!;强制使用符,强制用数据框中的数据变量替代环境变量

scatter_by <- function(data, x, y) {
  x <- enquo(x)
  y <- enquo(y)
  ggplot(data) + geom_point(aes(!!x, !!y))}
scatter_by(mtcars, disp, drat)

# 在封装当中依然可使用自定义的函数
# cut_number():数据分组函数,将数据按区间划分成指定组数

cut3 <- function(x) cut_number(x, 3)
scatter_by(mtcars, cut3(disp), drat)
在这里插入图片描述 在这里插入图片描述
自封装散点图函数 按区间分组后
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ggplot2学习之3——aes函数 的相关文章

随机推荐

  • C++模板-33-类模板和函数模板的区别

    这篇开始学习类模板相关知识 本篇主要学习什么是类模板 还有类模板和函数模板的区别 1 类模板语法 template
  • Java调试的变迁:从System.out.println到log4j

    jungleford如是说 用惯了VC的人刚接触Java大概很不习惯代码的调试 的确 在M 的大部分IDE都做得相当出色 包括像VJ 这样一直被Java程序员称为是 垃圾 的类库 记得以前在瀚海星云的Java版提有关VJ问题的人是有可能被封
  • linux下python第三库(setuptools)的安装

    rpm源的下载网址 http rpm pbone net http www rpmfind net linux RPM index html python第三方模块的下载网址 https pypi python org pypi setup
  • amd 皓龙 服务器 芯片,全面解读 关于AMD皓龙6000平台的那些事

    今年3月30日 AMD面向全球发布了代号 Magny Cours 的AMD皓龙6100处理器 在4月19日 AMD在上海召开AMD皓龙6000系列平台发布会 标志着AMD皓龙6000平台正式登录中国 在x86服务器处理器中 AMD皓龙堪称一
  • java中的静态方法是什么

    静态方法是使用公共内存空间的 就是说所有对象都可以直接引用 不需要创建对象再使用该方法 然后在含有main方法的类中使用这个类时 对与以上非静态和静态方法的引用方式是不同的 如下 public class mainClass int sum
  • vscode可以调试c但是无法调试c++程序的

    安装Vscode后调试c程序正常 但是调试c 程序出现问题 出现launch program xxxxxx does not exist的问题 我发现是无法正常生成exe文件导致的问题 当我们对c程序进行调试时 可以正常生成exe文件 但是
  • 太牛逼了!从Python入门到入魔

    总被读者问到 我看完了python入门的书 后面就不知道要学什么了 今天就给你们整理全套入门到进阶的教程 这套教程非常全面而且详细 从Python入门到Python进阶 Django Flask等Web框架以及爬虫 数据库 算法与数据结构等
  • 计算机ip保留地址,分类ip地址中,保留地址有哪些?具体点说说,作业。

    分类ip地址中 保留地址有哪些 具体点说说 作业 以下文字资料是由 历史新知网www lishixinzhi com 小编为大家搜集整理后发布的内容 让我们赶快一起来看一下吧 分类ip地址中 保留地址有哪些 具体点说说 作业 A类地址中的私
  • Vue开发组件库

    Vue开发组件库 1 创建项目 npm install g vue cli vue create 项目名 针对于vue脚手架生成的项目需要做出一些调整 将src重命名为examples 防止第三方开发者产生的歧义 添加examples同级目
  • MySQL CRUD (带样例)

    目录 1 Create 创建 1 1 单行数据 全列插入 1 2 多行数据 指定列插入 1 3 插入否则更新 1 4 替换 2 Retrieve 读取 2 1 SELECT 列 全列查询 指定列查询 查询字段为表达式 为查询结果指定别名 结
  • 螺旋式排列数组

    文章目录 前言 解题思路 上代码 总结 前言 螺旋式排列数组在letcode中属于中等难度的题型 但是对于俺这种道行浅的人再次重新拾起正吃灰的C语言的菜鸟来说确实不容易 其实思路不难 按主要是卡在了二维数组空间的分配问题上 最后调试才将代码
  • 【软件测试】selenium3

    自动化测试的概念 自动化测试指软件测试的自动化 在预设状态下运行应用程序或者系统 预设条件包括正常和异常 最 后评估运行结果 将人为驱动的测试行为转化为机器执行的过程 自动化测试就相当于将人工测试手段进行转换 让代码去执行 提高测试效率 保
  • python中的groupby()函数

    1 groupby 函数介绍 groupby 函数扫描整个序列并且查找连续相同值 或者根据指定key函数返回值相同 的元素序列 在每次迭代的时候 它会返回一个值和一个迭代器对象 这个迭代器对象可以生成元素值全部等于上面那个值的组中所有对象
  • 【深度学习】经典的卷积神经网络模型介绍(LeNet、AlexNet、VGGNet、GoogLeNet、ResNet和MobileNet)

    经典的卷积神经网络模型介绍 卷积神经网络简介 一 LeNet 1 INPUT层 输入层 2 C1层 卷积层 3 S2层 池化层 下采样层 4 C3层 卷积层 5 S4层 池化层 下采样层 6 C5层 卷积层 7 F6层 全连接层 二 Ale
  • 灰色预测模型matlab_灰色预测

    你好 我是goldsunC让我们一起进步吧 文章目录 灰色预测引言灰色预测的类型最简单的模型 GM 1 1 GM 1 1 模型实例原理及求解数据处理方法 1 累加生成2 累减生成3 均值生成求解步骤框图求解步骤小误差概率p及方差比检验标准
  • 企业管理靠员工自觉只能是海市蜃楼

    企业管理靠员工自觉只能是海市蜃楼 凭良心做事好不好 好 要不要凭良心做事 要 但得有前提 这个前提就是这家企业人人讲良心 个个讲良心 特别是老板讲良心 如果老板让员工讲良心 自己不讲良心 讲良心的人不是伤心走了 就是有样学样 也不讲良心了
  • C++进阶 智能指针

    本篇博客简介 介绍C 中的智能指针 智能指针 为什么会存在智能指针 内存泄露 内存泄漏定义 内存泄漏的危害 如何检测内存泄漏 如何避免内存泄漏 智能指针的使用及其原理 RAII 设计一个智能指针 C 官方的智能指针 定制删除器 智能指针总结
  • Java之Graphics2D图片生成水印

    目录 一 介绍 二 效果图 三 代码 四 优化方向 五 参考链接 一 介绍 百度百科 Graphics2D Graphics 类 提供了对几何形状 坐标转换 颜色管理和文本布局更为复杂的控制 不止通过JDK提供的工具类 还可以使用第三方的T
  • SQL Server通过链接服务器访问Oracle

    Windows SQL Server 2016 数据库通过链接服务器访问Oracle数据库 借鉴了很多大佬的文章 但是由于外链失效 文章久远 安装包版本太低 自己积分清零等多重原因 导致了很多问题 最后总算磕磕盼盼搞定了 整理一下流程 包括
  • ggplot2学习之3——aes函数

    文章目录 说明 函数名及参数 1 基本用法 2 函数的进一步封装 说明 R语言的版本为4 0 2 IDE为Rstudio 版本为1 3 959 学习的主要内容是R官方文档当中给出的算法 对其中的英文注释做了自己理解基础上的翻译 函数名及参数