用花键连接点

时间:2015-09-08 00:40:09

标签: r ggplot2

如何平滑线条图中的边缘?我可以做这样的情节:

data <- data.frame(x=1:10, y=c(22,23,21,25,23,24,20,27,22,24))
ggplot(data, aes(x,y)) + 
  geom_line(colour='forestgreen')

但是,我不喜欢锋利的边缘。有没有办法在这些点上绘制一条线,以使线条平滑?

1 个答案:

答案 0 :(得分:3)

这是一种方法:

library(ggplot2)
library(splines)
library(gridExtra)

dat <- data.frame(x=1:10, y=c(22,23,21,25,23,24,20,27,22,24))

plot.new() # have to do this unfortunately
res <- xspline(dat$x, dat$y, -0.25, draw=FALSE)

gg1 <- ggplot(dat, aes(x,y)) +
  geom_line(colour='forestgreen') +
  geom_point()

gg2 <- ggplot(data=data.frame(x=res$x, y=res$y), aes(x, y)) + 
  geom_point(data=dat, aes(x, y), size=1) +
  geom_line(color="blue")

grid.arrange(gg1, gg2, ncol=1)

enter image description here

这是使用xspline进行插值。查找函数以查看调整-0.25参数(范围为-11)的内容。