我是ggplot2的新手,并一直在尝试查找美学的综合 list 。我想我了解它们的目的,但是很难知道可以在各种情况下使用它们(主要是几何图形?)。哈德利(Hadley)的网站偶尔会在页面上列出各个几何图形的可用美学,R doc偶尔也会(尽管很少见)这样做。我什至找到了一个两者不太匹配的几何图形。
我在这里的评论中搜索答案,甚至买了这本书! no,没有帮助。
我认为拥有一张桌子,其中一维列出了所有美学,而另一维列出了所有几何(和其他物体?),那真是太棒了。
有人知道这样的事吗?
R中是否有一种简单的方法(命令)列出可以应用于对象的所有美学?
表格的开始方式如下:
List x y fill size colour linetype . . .
geom_point Yes Yes Yes Yes Yes No
geom_abline Yes Yes No Yes Yes Yes
.
.
.
美学定义/参数的目录也将是非常有用的引用。
最佳答案
以下是每个几何图形的default_aes
,
colour size linetype alpha fill weight shape width height angle hjust vjust family fontface lineheight
abline black 0.5 1 yes -- -- -- -- -- -- -- -- -- -- --
area yes 0.5 1 yes grey20 -- -- -- -- -- -- -- -- -- --
bar yes 0.5 1 yes grey20 1 -- -- -- -- -- -- -- -- --
bin2d yes 0.5 1 yes grey60 1 -- -- -- -- -- -- -- -- --
boxplot grey20 0.5 solid yes white 1 16 -- -- -- -- -- -- -- --
contour #3366FF 0.5 1 yes -- 1 -- -- -- -- -- -- -- -- --
crossbar black 0.5 1 yes yes -- -- -- -- -- -- -- -- -- --
density black 0.5 1 yes yes 1 -- -- -- -- -- -- -- -- --
density2d #3366FF 0.5 1 yes -- 1 -- -- -- -- -- -- -- -- --
errorbar black 0.5 1 yes -- -- -- 0.5 -- -- -- -- -- -- --
errorbarh black 0.5 1 yes -- -- -- -- 0.5 -- -- -- -- -- --
freqpoly black 0.5 1 yes -- -- -- -- -- -- -- -- -- -- --
hex yes 0.5 -- yes grey50 -- -- -- -- -- -- -- -- -- --
hline black 0.5 1 yes -- -- -- -- -- -- -- -- -- -- --
linerange black 0.5 1 yes -- -- -- -- -- -- -- -- -- -- --
path black 0.5 1 yes -- -- -- -- -- -- -- -- -- -- --
point black 2 -- yes yes -- 16 -- -- -- -- -- -- -- --
pointrange black 0.5 1 yes yes -- 16 -- -- -- -- -- -- -- --
polygon NA 0.5 1 yes grey20 -- -- -- -- -- -- -- -- -- --
quantile #3366FF 0.5 1 yes -- 1 -- -- -- -- -- -- -- -- --
raster -- -- -- yes grey20 -- -- -- -- -- -- -- -- -- --
rect yes 0.5 1 yes grey20 -- -- -- -- -- -- -- -- -- --
ribbon yes 0.5 1 yes grey20 -- -- -- -- -- -- -- -- -- --
rug black 0.5 1 yes -- -- -- -- -- -- -- -- -- -- --
segment black 0.5 1 yes -- -- -- -- -- -- -- -- -- -- --
smooth #3366FF 0.5 1 0.4 grey60 1 -- -- -- -- -- -- -- -- --
step black 0.5 1 yes -- -- -- -- -- -- -- -- -- -- --
text black 5 -- yes -- -- -- -- -- 0 0.5 0.5 1 1.2
tile yes 0.1 1 yes grey20 -- -- -- -- -- -- -- -- -- --
violin grey20 0.5 solid yes white 1 -- -- -- -- -- -- -- -- --
vline black 0.5 1 yes -- -- -- -- -- -- -- -- -- -- --
还有我用来破解的丑陋代码
find_aes <- function(geom="point"){
tryCatch({
Geom <- getFromNamespace(paste("Geom", ggplot2:::firstUpper(geom), sep=""),
"ggplot2")
tmp <- unclass(Geom$default_aes)
tmp[is.na(tmp)] <- "yes"
data.frame(tmp, stringsAsFactors=FALSE)
}, error = function(e) {})
}
funs <- grep("^geom_", ls("package:ggplot2"),val=T)
geoms <- gsub("^geom_", "", funs)
all <- lapply(geoms, find_aes)
names(all) <- geoms
relevant <- sapply(all, function(x) !is.null(x) && nrow(x) > 0)
library(plyr)
results = do.call("rbind.fill",all)
rownames(results) <- names(relevant[relevant])
results[is.na(results)] <- "--"
options(width=9999)
capture.output(print(results), file="aes.txt")
关于r - ggplot2有美学的表格或目录吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11657380/