一个图中有多个样条曲线

时间:2015-08-26 12:10:33

标签: r plot ggplot2 spline

我是R的新手,我正在尝试生成一个简单的散点图,其中包含多个样条拟合。

我有一张如下图所示的表格,

chr     window  number  percent pie  
chr1    500     15      0.502   na  
chr1    1000    21      0.641   0.019704955  
chr1    1500    21      0.621   0.016777844  
chr1    2000    22      0.534   na  
chr1    2500    35      0.698   0.028712731  
chr2    4500    2       0.371   na    
chr2    5000    3       0.342   na    
chr4    5500    1       0.068   na    
chr4    6000    0       0.000   na    
chr4    6500    0       0.000   na    
chr5    7000    2       0.079   na    
chr5    7500    12      0.440   na

我想要做的是从这个数据框中绘制一个简单的x,y散点图,并在同一个图上为第1列中的每个级别添加样条拟合。现在我可以像这样生成一个散点图,

ggplot(Y, aes(x=percent, y=pie))+ geom_point(size = 1)  +
theme(axis.text.y=element_text(size=8))

但到目前为止我看到的所有例子都是关于每个情节有一个样条曲线。我的问题是如何基于column1拆分数据框并为每个子集生成样条曲线,最后将所有样条曲线放在与散点图相同的图中?

我更喜欢将其保留在ggplot中,但如果您在ggplot之外有解决方案,请告诉我这些。

任何帮助将不胜感激。如果您需要我方提供更多信息,请与我们联系。

干杯,

1 个答案:

答案 0 :(得分:1)

我为Y$pie<-rnorm(12)变量添加了一些数据,因为只有3个值。

ggplot(Y, aes(x=percent, y=pie,color=chr))+ geom_point(size = 3)  +
         theme(axis.text.y=element_text(size=8)) + 
         geom_smooth(method = "lm", se = FALSE, size=1,show_guide=FALSE)

enter image description here

那是否接近你的要求?