由于ggplot2中的geom_line()函数只能绘制折线图,需要用到ggalt提供的geom_xspline()函数绘制光滑的曲线图
geom_line 将所有点连接起来,是折线图但不平滑
geom_smooth.../stat_smooth一条平滑的线,但他是拟合曲线,不会遍历所有数据点
实现遍历所有点的光滑曲线需要用到插值原理
一个更好的选择是使用插值splines.这也是一个使用多项式的插值,但不是只使用一个(...的结果
ggplot(mydata, aes(x, y) )+
geom_point(data=mydata,aes(x,y),shape=21,size=4,color="black",fill="red...函数获得一系列插值点后用geom_line()绘制的曲线明显光滑了
spline_int <- as.data.frame(spline(mydata$x, mydata$y))
ggplot(spline_int..., aes(x, y) )+
geom_line(size=0.5,color="black")+
geom_point(data=mydata,aes(x,y),shape=21,size=4,color