博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ggplot2 aes函数map到data笔记
阅读量:5901 次
发布时间:2019-06-19

本文共 1867 字,大约阅读时间需要 6 分钟。

.all_aesthetics <- c("adj", "alpha", "angle", "bg", "cex", "col", "color",  "colour", "fg", "fill", "group", "hjust", "label", "linetype", "lower",                     "lty", "lwd", "max", "middle", "min", "pch", "radius", "sample", "shape","size", "srt", "upper", "vjust", "weight", "width", "x", "xend", "xmax",                     "xmin", "xintercept", "y", "yend", "ymax", "ymin", "yintercept", "z").base_to_ggplot <- c(  "col"   = "colour",  "color" = "colour",  "pch"   = "shape",  "cex"   = "size",  "lty"   = "linetype",  "lwd"   = "size",  "srt"   = "angle",  "adj"   = "hjust",  "bg"    = "fill",  "fg"    = "colour",  "min"   = "ymin",  "max"   = "ymax")aes <- function(x, y, ...) {  aes <- structure(as.list(match.call()[-1]), class = "uneval")  rename_aes(aes)}#' @exportprint.uneval <- function(x, ...) {  values <- vapply(x, deparse2, character(1))  bullets <- paste0("* ", format(names(x)), " -> ", values, "\n")    cat(bullets, sep = "")}# Rename American or old-style aesthetics namerename_aes <- function(x) {  # Convert prefixes to full names  full <- match(names(x), .all_aesthetics)  names(x)[!is.na(full)] <- .all_aesthetics[full[!is.na(full)]]    plyr::rename(x, .base_to_ggplot, warn_missing = FALSE)}deparse2 <- function(x) {  y <- deparse(x, backtick = TRUE)  if (length(y) == 1) {    y  } else {    paste0(y[[1]], "...")  }}#map to data (just an example)data <- lapply(aes(x=mpg, y=cyl, color=cyl),eval, env=mtcars)  #from compute_aesthetics functiondata

结果

$x [1] 21.0 21.0 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 17.8 16.4 17.3 15.2 10.4 10.4 14.7 32.4 30.4 33.9 21.5 15.5 15.2 13.3 19.2 27.3 26.0 30.4[29] 15.8 19.7 15.0 21.4$y [1] 6 6 4 6 8 6 8 4 4 6 6 8 8 8 8 8 8 4 4 4 4 8 8 8 8 4 4 4 8 6 8 4$colour [1] 6 6 4 6 8 6 8 4 4 6 6 8 8 8 8 8 8 4 4 4 4 8 8 8 8 4 4 4 8 6 8 4

参考资料

ggplot2源代码

转载于:https://www.cnblogs.com/ywliao/p/9265446.html

你可能感兴趣的文章
c#创建文件夹
查看>>
Hibernate事务代码规范写法
查看>>
网络最大流问题算法小结 [转]
查看>>
面试之Java知识整理
查看>>
iOS推送消息报错误“Domain=NSCocoaErrorDomain Code=3000”的可能问题
查看>>
kvm-1
查看>>
hdu1045 Fire Net---二进制枚举子集
查看>>
leetcode 64. Minimum Path Sum
查看>>
textkit
查看>>
CentOS7+CDH5.14.0安装CDH错误排查: HiveServer2 该角色的进程已退出。该角色的预期状态为已启动...
查看>>
The Oregon Trail 俄勒冈之旅
查看>>
Excel VBA连接MySql 数据库获取数据
查看>>
Developing a Service Provider using Java API(Service Provider Interface)(转)
查看>>
BAE Flask UEditor 使用七牛云
查看>>
Bootstrap系列 -- 15. 下拉选择框select
查看>>
关于WinPE安装操作系统
查看>>
LeetCode Median of Two Sorted Arrays
查看>>
oschina程序开发
查看>>
mysql创建每月执行一次的event
查看>>
kafka集群部署
查看>>