6

在 wolfram-alpha-website 中绘制函数如下所示:

在此处输入图像描述

http://www.wolframalpha.com/link

在 R 中绘制相同的函数如下所示:

绘图(函数(x)x^2 - 3*x - 10) 在此处输入图像描述

Wolfram 的默认图更容易理解。我认为这是因为它显示了 x 轴(在 y=0 处),并将抛物线居中。

我数学不够好,只能查看函数的公式,看看我应该在哪里使绘图居中,我正在绘制函数以了解不同的函数如何创建不同的线,所以我需要自动完成居中,因为否则我可能会误解情节。

是否可以自动创建 Wolfram 绘图,即无需我告诉 R 将绘图置于何处是明智的?

4

3 回答 3

4

polynom包将创建一些合理的默认值。

例如。

library(polynom)

# your polynomial (coefficients in ascending powers of x order)
p <- polynomial(c(-10,-3,1))
plot(p)

在此处输入图像描述

 # a more complicated example, a polynomial crossing the x axis at -1,0,1,2,3,4,5

 p2 <- poly.calc(-1:5)
 p2 
 # -120*x + 154*x^2 + 49*x^3 - 140*x^4 + 70*x^5 - 14*x^6 + x^7 
 plot(p2)

在此处输入图像描述

于 2013-11-27T22:24:00.847 回答
2

您可以设置要绘制的所需间隔,如 中所述?plot.function。另见curveabline

plot( function(x) x^2 - 3*x - 10 , -15, 15) ; abline(h=0,v=0,lty=3)

或者

curve(x^2 - 3*x - 10 , -15, 15) ; abline(h=0,v=0,lty=3)
于 2013-11-27T19:50:19.080 回答
0

这是一篇相当古老的帖子,但我试图根据我的模型系数拟合多项式曲线。

以 R 为基数的原件:

plot( y ~ x) 
curve(3*x - 2*x^2 + 2*x^3)   ##  random coefficients for easy example 

我使用 ggplot2 - 所以我想使用从系数生成的曲线而不是 + geom_smooth (这也有效,但我更喜欢下面的曲线)

bestfit <- geom_smooth(method = "loess", se = T, size = 1) 

ggplot2 
+ bestfit

相反,我用上面的系数创建了一个函数

test 
test <- function(x) {3*x - 2*x^2 + 2*x^3} 

然后我将它添加为 ggplot 中的一个图层

ggplot2
+ stat_function(fun = test)

它给了我与基本绘图功能相同的曲线,但我可以在 ggplot 中添加所有附加层

于 2015-11-04T10:33:34.313 回答