2016-08-22 3 views
0

어떻게 ggplot2에 함수를 사용하여 줄을 추가합니까? 추가 다음 몇 가지 포인트를 기반으로 계산을하고 ggplot2의 옵션이 있는지ggplot2에 알 수없는 여러 줄 추가하기

x <- 1:10 ; y <- 1:10 

MakeStar <- function(point , numLine , r = 0.5){ 
    for (i in 1:numLine) { 
    segments(point[1] , point[2] , point[1] + r * sin(i/(2 * pi)) , point[2] + r * cos(i/(2 * pi))) 
    } 
} 

plot(y ~ x) 
for (j in 1:10) { 
    MakeStar(c(x[j],y[j]) , j) 
} 

enter image description here

명확히하기 위해 내가 R.에서하는 것과 유사한 방식으로 뭔가, 내가 부탁 해요 위의 그림과 비슷한 각 점의 선.

감사합니다.

답변

2

Imho, ggplot2의 "in"에서 가장 좋은 방법은 데이터 프레임을 미리 준비한 다음 플롯하는 것입니다. 예 :

library(ggplot2) 
x <- 1:10 ; y <- 1:10 
df <- data.frame(x=rep(x, 1:10), y=rep(y, 1:10)) 
df$i <- ave(1:nrow(df), df$x, df$y, FUN = seq_along) 
df$r <- 0.5 
p <- ggplot(df, aes(x, y)) + 
    geom_point() 
p + geom_segment(aes(xend=x + r * sin(i/(2 * pi)), yend=y + r * cos(i/(2 * pi)))) 

enter image description here

:의 정맥에 뭔가
관련 문제