2014-01-23 2 views
6

ggplot2을 사용하여 복소수를 우아한 방법으로 그릴 수 있습니까? plot {graphics}snowflake 벡터 값을 사용하지만, ggplot2에 넣는 것을 선호합니다. 내가 건너 왔던 ggplot2 자습서는 복잡한 단어를 언급하지 않습니다. 반면, 값의 벡터에 의해 주어진 순서대로 plot {graphics} 라인 포인트 -ggplot2를 사용하여 R에 복소수 플롯

snowflake <- c(complex(real=0, imaginary=0), 
       complex(real=1/3, imaginary=0), 
       complex(real=1/2, imaginary=(3^(1/2))/6), 
       complex(real=2/3, imaginary=0), 
       complex(real=1, imaginary=0)) 
plot(snowflake, type="l") 

enter image description here

UPDATE 불행하게도

은, 내 더 복잡한 수치 작동하지 않습니다 제안 아래에 나타납니다 qplot이 아닙니다. 괜찮다 아래의 예 :

my.snowflake <- c(0.0000000+0.0000000i, 0.1111111+0.0000000i, 
        0.1666667+0.0962250i, 0.2222222+0.0000000i, 
        0.3333333+0.0000000i, 0.3888889+0.0962250i, 
        0.3333333+0.1924501i, 0.4444444+0.1924501i, 
        0.5000000+0.2886751i, 0.5555556+0.1924501i, 
        0.6666667+0.1924501i, 0.6111111+0.0962250i, 
        0.6666667+0.0000000i, 0.7777778+0.0000000i, 
        0.8333333+0.0962250i, 0.8888889+0.0000000i, 
        1.0000000+0.0000000i) 

결과 :

plot(my.snowflake, type = "l") 

enter image description here

qplot(Re(my.snowflake), Im(my.snowflake), geom="line") 

enter image description here

+3

geom_path 아마 – baptiste

답변

9

그냥 다음 ReIm와 수의 실수 부와 허수 부분을 추출 그들을에 넘겨 라. ggplot2 x와 y로 : 당신의 업데이트에

qplot(Re(snowflake), Im(snowflake), geom="path") 

The OP's plot in ggplot2

, 당신은 당신이 포인트를 연결하는 대신 geom_path를 사용하는 것이 좋습니다 그래서 geom_line는, 사소 경우 작동하지 않습니다 지적 제공되는 순서대로 다음은 더 복잡한 예는 geom_path와의 :

The OP's updated plot in ggplot2, with geom_path

+0

페이튼, 당신의 제안에 감사드립니다! 불행히도, 제 복잡한 예제에서는 잘 작동하지 않습니다 - 포스트 업데이트를 참조하십시오. –

+1

맞습니다.'geom_line'은 좋은 대체물이 아닙니다. 코멘트에서 제안 된 바와 같이 baptiste가'geom_path'를 사용하도록 예제를 업데이트했습니다. 'geom_path'는 포인트를 당신이 제공 한 순서대로 연결합니다. – Peyton

+0

고침, 고마워! :) –

관련 문제