【发布时间】:2017-01-21 11:04:29
【问题描述】:
我正在使用ggplot2 创建海洋的垂直剖面。我的原始数据集创建了“尖峰”,以便制作平滑的曲线。我希望使用geom_smooth()。我还希望这条线根据观察的顺序(而不是根据 x 轴)进行。当我使用geom_path() 时,它适用于原始情节,但不适用于生成的geom_smooth()(见下图)。
melteddf = Storfjorden %>% melt(id.vars = "Depth")
ggplot(melteddf, aes(y = Depth, x = value)) +
facet_wrap(~ variable, nrow = 1, scales = "free_x") +
scale_y_reverse() +
geom_smooth(span = 0.5,se = FALSE) +
geom_path()
我的数据子集:
head(Storfjorden)
Depth Salinity Temperature Fluorescence
1 0.72 34.14 3.738 0.01
2 0.92 34.14 3.738 0.02
3 1.10 34.13 3.739 0.03
4 1.80 34.14 3.740 0.06
5 2.80 34.13 3.739 0.02
6 3.43 34.14 3.739 0.05
【问题讨论】:
-
您能否包含您的数据子集(使用
dput和head)以便这是more reproducible? -
我希望我所做的编辑符合您的要求。谢谢!
-
您可以尝试使用
coord_flip并交换 x 和 y,但方面往往会带来一些麻烦。否则,您可能必须首先在ggplot之外进行平滑处理。看看?loess。 -
我确实考虑过
loess,但后来我在 geom_smooth 中使用黄土对象时遇到了困难。但是,如果您对黄土有见解,我会很高兴听到的!