2014-03-12 100 views
1

我有幾個數據點需要用曲線「連接」。我試圖提出的一點是,數據點是而不是單調遞增,所以我想通過它們繪製一條平滑的線條,明顯地上升和下降。如何通過我的數據擬合平滑曲線?

我用smooth.spline功能取得了中等成功。有什麼辦法讓它看起來更「手繪」?而不是zig-zag在前後兩點之間?

下面是我使用的是現在的代碼:

x <- c(.55, .65, .75, .725, .825, .925) 
y <- c(.6, .75, .9, .65, .8, .95) 
plot(x, y, xlim=c(.5, 1), ylim=c(.5, 1)) 
lines(smooth.spline(x, y, spar=.01), col='red') 
+0

「手繪」 - 使用catmull-rom樣條線。 – Bathsheba

回答

2

你可以使用xspline

xspline(x,y, shape= -1) 

將畫線通過點曲率去,改變形狀參數(如果需要,通過少量甚至錯過的中點)將改變曲線的量。

+0

非常感謝,Greg!這正是我所期待的。 :) – Florian

1

如何ggplot2

require(ggplot2) 
qplot(x,y,geom="smooth") 

enter image description here

+0

謝謝,這看起來正是我想要的樣子。 有沒有辦法讓這條曲線沒有ggplot2?因爲我製作的情節只有一個在2x3的情節網格中,我想讓他們都「看起來一樣」。 – Florian