packcircles 패키지의 버전 0.2.0이 방금 CRAN에 게시되었습니다. 이 패키지는 경계가 있고 제한되지 않은 영역에서 겹치지 않는 원의 배열을 찾는 함수를 제공합니다.

패키지에는 새로운 circleProgressiveLayout 함수가 있습니다. 중첩을 피하면서 이전에 배치 된 두 원에 외부 접선을 연속적으로 배치하여 원을 배열하는 효율적인 결정적 알고리즘을 사용합니다.

다음은 패키지 비 네트에서 가져온 새로운 함수의 작은 예입니다.

library(packcircles)
library(ggplot2)

t <- theme_bw() +
theme(panel.grid = element_blank(),
axis.text=element_blank(),
axis.ticks=element_blank(),
axis.title=element_blank())

theme_set(t)

# circle areas
areas <- 1:1000

# arrange circles from small to large
packing1 <- circleProgressiveLayout(areas)
dat1 <- circleLayoutVertices(packing1)

# arrange same circles from large to small
packing2 <- circleProgressiveLayout( rev(areas) )
dat2 <- circleLayoutVertices(packing2)

dat <- rbind(
cbind(dat1, set = 1),
cbind(dat2, set = 2) )

ggplot(data = dat, aes(x, y)) +
geom_polygon(aes(group = id, fill = -id),
colour = “black”, show.legend = FALSE) +

scale_fill_distiller(palette = “RdGy”) +

coord_equal() +

facet_wrap(~set,
labeller = as_labeller(
c('1' = "small circles first",
'2' = "big circles first"))
)

새 함수를 위한 vigneet 에는 ggplot2 및 ggiraph를 사용하여 미리 정의 된 색상과 동적 레이블이있는 원 레이아웃의 SVG 이미지를 만드는 방법을 비롯한 많은 예제가 있습니다.

소스: packcircles version 0.2.0 released | R-bloggers