【发布时间】:2021-08-08 21:17:36
【问题描述】:
我正在尝试制作平滑的曲线,但我不知道为什么不起作用。 这是我的数据集
data.fam
###specnumber_f site position
23 MS on
9 MS on
11 CU on
9 CA on
21 CF on
17 ST on
6 AB on
4 AB on
8 AB on
3 FN off
4 FN off
14 RO off
6 RO off
7 SPSP off
4 SPSP off
3 SPSP off
我需要 x 轴遵循这个站点顺序
lat.order <- factor(data.fam$site, levels=c("MS", "CU", "CA", "CF", "ST", "AB", "FN",
"RO", "SPSP"))
然后,我尝试了这段代码,但 geom_smooth 没有绘图,我相信这是一个简单的答案,我无法解决它
ggplot(data.fam, aes(x=as.factor(lat.order), y=specnumber_f))+
geom_point(aes(colour = factor(position)), size = 2)+
geom_smooth()
【问题讨论】:
-
可能是因为 x 变量是离散的。尝试将
geom_smooth()中的组设置为-1之类的。 -
您得到一个“可能”的答案,因为您没有提供问题的可重现示例stackoverflow.com/help/minimal-reproducible-example
-
OP,听从/u/teunbrand的建议。将
geom_smooth()更改为geom_smooth(aes(group=-1),您将得到电话。当然,你的轴仍然是离散的,所以它不会是一条平滑的线,但是这样 ggplot 知道连接点。如果您想要一条平滑的线条,则需要创建一个连续的新列,然后可以使用scale_x_continuous()标记您的中断。