Эквивалент кривой () для ggplot


существует ли эквивалентный метод построения функций с помощью ggplot до curve() команда, используемая в базовой графике? Я предполагаю, что альтернативой было бы просто создать вектор значений функции и построить связную линию, но я надеялся на что-то более простое.

спасибо!

2 56

2 ответа:

вы можете добавить кривую с помощью 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/

"данные.пример "рамка" выше работает хорошо, и он делает линии сетки. Пример 'qplot' не работает в ggplot2 2.2.0 по указанным причинам.

вы также можете использовать функцию "кривая" в ggplot2 2.2.0, но она не делает автоматически линии сетки или цвет фона. Например: кривая (cos (x), from= 0, to= pi/2).

" ggplot (data.рамка.(.. ) метод дает полный впечатляющий диапазон параметров форматирования ggplot2. Мне это нравится.