如何使用ggplot2绘制样条曲线?

时间:2011-05-23 20:32:17

标签: r ggplot2 histogram splines

我有一些数据,我想制作直方图。但是,我想用直线表示这个直方图。我尝试使用freq_poly的{​​{1}}。然而,产生的线条非常锯齿状。我想知道是否可以将ggplot2splines一起使用,以便ggplot2中生成的行更顺畅。

freq_poly

这就是我想要完成的。但我希望使用d <- rnorm( 1000 ) h <- hist( d, breaks="FD", plot=F ) plot( spline( h$mids, h$counts ), type="l" )

1 个答案:

答案 0 :(得分:4)

我假设您正在尝试使用spline()功能。如果没有,请忽略这个答案。

spline()返回两个组件x和y的列表对象:

List of 2
 $ x: num [1:93] -3.3 -3.23 -3.17 -3.1 -3.04 ...
 $ y: num [1:93] 1 0.1421 -0.1642 -0.0228 0.4294 ...

我们可以简单地将这些变成一个data.frame并绘制它们可能有更好的方法来做到这一点,但这将有效:

h <- hist( d, breaks="FD", plot=F )
zz <- spline( h$mids, h$counts )
qplot(x, y, data = data.frame(x = zz$x, y = zz$y), geom = "line")