This question already has an answer here:
这个问题在这里已有答案:
- Ordering of points in R lines plot 1 answer
R行中点的排序图1答案
I have a simple problem in the plot function of R programming language. I want to draw a line between the points (see this link and how to plot in R), however, what I am getting something weird. I want only one point is connected with another point, so that I can see the function in a continuous fashion, however, in my plot points are connected randomly some other points. Please see the second plot.
我在R编程语言的绘图函数中有一个简单的问题。我想在点之间画一条线(参见这个链接以及如何在R中绘图),然而,我得到了一些奇怪的东西。我希望只有一个点与另一个点连接,这样我就能以连续的方式看到这个功能,但是,在我的情节点上随机连接了一些其他点。请看第二个图。
Below is the code:
以下是代码:
x <- runif(100, -1,1) # inputs: uniformly distributed [-1,1]
noise <- rnorm(length(x), 0, 0.2) # normally distributed noise (mean=0, sd=0.2)
f_x <- 8*x^4 - 10*x^2 + x - 4 # f(x), signal without noise
y <- f_x + noise # signal with noise
# plots
x11()
# plot of noisy data (y)
plot(x, y, xlim=range(x), ylim=range(y), xlab="x", ylab="y",
main = "observed noisy data", pch=16)
x11()
# plot of noiseless data (f_x)
plot(x, f_x, xlim=range(x), ylim=range(f_x), xlab="x", ylab="y",
main = "noise-less data",pch=16)
lines(x, f_x, xlim=range(x), ylim=range(f_x), pch=16)
# NOTE: I have also tried this (type="l" is supposed to create lines between the points in the right order), but also not working:
plot(x, f_x, xlim=range(x), ylim=range(f_x), xlab="x", ylab="y",
main = "noise-less data", pch=16, type="l")
First plot is correct: While second is not what I want, I want a continuous plot:
第一个情节是正确的:虽然第二个不是我想要的,但我想要一个连续的情节: