我有一些看起来像这样的数据:
sample diff chromosome haploid coverage
B 90.9963099631 7 b 0.513
A 91.7019475021 12 a 8.234
C 90.3855783676 14 a 6.211
D 91.3407821229 17 b 4.321
E 91.5740740741 11 b 0.213
F 90.9963099631 7 b 0.513
G 91.7019475021 12 a 8.234
H 90.3855783676 14 a 6.211
I 91.3407821229 17 b 4.321
J 91.5740740741 11 b 0.213
我想想象一下'差异的变化。对于不同的覆盖值,跨越不同的染色体,所以我这样做了:
plot = ggplot(dat, aes(x = coverage, y = diff, group = chromosome, colour = chromosome, ylim(0, 100)) ) + geom_point(colour = chromosome) + stat_smooth(se=FALSE) + ylim(0, 100)
`geom_smooth()` using method = 'loess'
现在我认为这不是绘制多条趋势线的最佳方法,但我制作了这个:
这就是我所追求的。但我认为实际上,根据我的数据,所有曲线都不应该是完全相同的形状,但所有曲线的形状基本相同。那么geom_smooth()是否为所有类别绘制了一条LOWESS曲线,然后为不同的类别上下移动了相同的曲线?
如果是这样,有没有办法让它为每个类别绘制独立的线条?
答案 0 :(得分:0)
无法使用您提供的代码复制您的情节。
但是,使用mtcars
数据集获取您正在寻找的内容的正确语法如下。
library(ggplot2)
df = mtcars
df$cyl = factor(df$cyl)
ggplot(df, aes(x = mpg, y = disp, colour = cyl, group = cyl)) +
geom_point() +
geom_smooth(se=F)
尝试在此代码上调整您的示例/数据集。