如何解决如何用ggplot2绘制样条线?
| 我有一些要制作直方图的数据。但是,我想用线表示该直方图。我尝试使用ggplot2
的freq_poly
。但是,生成的行参差不齐。我想知道是否可以将splines
和ggplot2
一起使用,以便使freq_poly
中产生的线条更平滑。
d <- rnorm( 1000 )
h <- hist( d,breaks=\"FD\",plot=F )
plot( spline( h$mids,h$counts ),type=\"l\" )
这就是我想要完成的。但是我想用ggplot2
来做。
解决方法
我假设您正在尝试使用
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\")
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。