2011-03-03 3 views
52

기본 그래픽에 사용 된 curve() 명령에 ggplot을 사용하여 함수를 그리는 것과 동일한 방법이 있습니까? 그 대안은 함수의 값 벡터를 만들고 연결된 선을 그리는 것일 수도 있지만, 좀 더 간단한 것을 기대하고있었습니다.ggplot의 curve()와 같습니다

감사합니다.

답변

54

다음을 사용하여 곡선을 추가 할 수 있습니다 stat_function :

ggplot(data.frame(x=c(0, 10)), aes(x)) + stat_function(fun=sin) 

qplot을 사용하는 것도 가능하지만,이 더 간단 경우가 분명하지 않다 :

이 곡선 기능은
qplot(c(0,2), fun=sin, stat="function", geom="line") 

경우 더 복잡하면 람다 함수를 사용하십시오. 예를 들어,

ggplot(data.frame(x=c(0, 10)), aes(x)) + 
    stat_function(fun=function(x) sin(x) + log(x)) 

당신이 http://kohske.wordpress.com/2010/12/25/draw-function-without-data-in-ggplot2/

+2

(C (0,2), 재미 = 죄, 합계 = "function", geom = "line")','stat'는 2016 년에 비추천이며'fun'는 더 이상 받아 들일 수없는 매개 변수가 아닙니다. – akhmed

1

에서 다른 예를 찾을 수있다 "data.frame"예를 들어 위의 잘 작동하고 눈금 선을합니다. 'qplot'예제는 주어진 이유로 ggplot2 2.2.0에서 작동하지 않습니다.

ggplot2 2.2.0에서 "곡선"기능을 사용할 수도 있지만 그리드 선이나 배경색을 자동으로 지정하지는 않습니다. 예 : curve (cos (x), from = 0, to = pi/2).

은 "ggplot (data.frame (...) 메소드가 ggplot2의 서식 옵션의 전체 인상 범위를 제공합니다. 나는 그것을 좋아하지. qplot`에 대한