Подтвердить что ты не робот

Как построить кривую функции в R

Каковы альтернативы для рисования простой кривой для функции типа

eq = function(x){x*x}

в R?

Звучит такой очевидный вопрос, но я могу найти только эти связанные вопросы о stackoverflow, но они более специфичны

Надеюсь, я не написал дублирующий вопрос.

4b9b3361

Ответ 1

Я искал в Интернете, и вот некоторые из них я нашел:

Самый простой способ - использовать кривую без предопределенной функции

curve(x^2, from=1, to=50, , xlab="x", ylab="y")

enter image description here

Вы также можете использовать кривую, когда у вас есть предопределенная функция

eq = function(x){x*x}
curve(eq, from=1, to=50, xlab="x", ylab="y")

enter image description here

Если вы хотите использовать ggplot, у вас есть выбор между qplot

library("ggplot2")
eq = function(x){x*x}
qplot(c(1,50), fun=eq, stat="function", geom="line", xlab="x", ylab="y")

enter image description here

и ggplot

library("ggplot2")
eq = function(x){x*x}
ggplot(data.frame(x=c(1, 50)), aes(x=x)) + stat_function(fun=eq, geom="line") + xlab("x") + ylab("y")

enter image description here

Ответ 2

plot имеет метод plot.function

plot(eq, 1, 1000)

или

curve(eq, 1, 1000)

Ответ 3

Ты имеешь в виду вот это?

> eq = function(x){x*x}
> plot(eq(1:1000), type='l')

Plot of eq over range 1:1000

(или любой диапазон значений относится к вашей функции)

Ответ 4

Вот решеточная версия:

library(lattice)
eq<-function(x) {x*x}
X<-1:1000
xyplot(eq(X)~X,type="l")

Lattice output

Ответ 5

Решеточное решение с дополнительными настройками, которые мне нужны:

library(lattice)
distribution<-function(x) {2^(-x*2)}
X<-seq(0,10,0.00001)
xyplot(distribution(X)~X,type="l", col = rgb(red = 255, green = 90, blue = 0, maxColorValue = 255), cex.lab = 3.5, cex.axis = 3.5, lwd=2 )
  • Если вам нужен диапазон значений для x, построенных с шагом, отличным от 1, например. 0.00001 вы можете использовать:

Х < -seq (0,10,0.00001)

  1. Вы можете изменить цвет своей линии, указав значение rgb:

col = rgb (красный = 255, зеленый = 90, синий = 0, maxColorValue = 255)

  1. Вы можете изменить ширину построенной строки, установив:

lwd = 2

  1. Вы можете изменить размер меток, масштабируя их:

cex.lab = 3.5, cex.axis = 3.5

Пример сюжетa