Development Tip

ggplot2에 대한 미학 테이블이나 카탈로그가 있습니까?

yourdevel 2020. 11. 30. 20:06
반응형

ggplot2에 대한 미학 테이블이나 카탈로그가 있습니까?


저는 ggplot2를 처음 접했고 전체적인 미학 목록을 찾으려고 노력했습니다. 나는 그들의 목적을 이해한다고 생각하지만 다양한 상황에서 사용할 수있는 것이 무엇인지 알기가 어렵다 (주로 기하학?). Hadley의 웹 사이트는 때때로 개별 기하학에 대한 페이지에 사용 가능한 미학을 나열하고 R 문서는 가끔 (더 드물지만) 동일한 작업을 수행합니다. 두 가지가 일치하지 않는 형상도 발견했습니다.

여기 댓글을 통해 답을 찾고 책도 샀어요! 아아, 도움이되지 않습니다.

모든 미학이 한 차원에 나열되고 모든 기하학 (및 다른 물체?)이 다른 차원에 나열되는 테이블을 갖는 것이 환상적이라고 생각합니다.

누구든지 그런 것을 알고 있습니까?

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")

Hadley Wickham의 미적 사양 의 비 네트를 살펴보십시오 .

이 비 네트는 그리드 그리기 기능이 취하는 다양한 형식을 요약합니다. 이 정보의 대부분은 R 문서 전체에 흩어져 있습니다. 이 부록은 모든 것을 한곳에 모았습니다.

참고 URL : https://stackoverflow.com/questions/11657380/is-there-a-table-or-catalog-of-aesthetics-for-ggplot2

반응형