【发布时间】:2019-12-02 10:11:51
【问题描述】:
我有几个小时内的一些数据,如下所示:
df <- data.frame('hour' = rep(0:23, 2),
'mean' = rnorm(48),
'sd' = rnorm(48))
我希望在整个期间绘制geom_smooth():
df %>%
ggplot(aes(y = mean, x = hour)) +
geom_smooth(aes(y = sd))
但是,默认情况下,我的 hour 参数被考虑在内,因此每小时只出现一次,如果添加 geom_point() 可以看出,但我希望所有 48 个(实际上更多)值出现在我的x 轴。
我意识到肯定有一个参数我丢失但找不到。
【问题讨论】:
-
如果您的数据已经在
hour级别汇总,您将无法执行此操作。你应该让你的数据处于 ggplot 的融化状态。 -
@csgroen 但它没有按小时级别汇总,相反。每小时故意在数据中出现多次。你的意思是我应该延长时间,例如包括一个日期?
-
哦,抱歉,您的示例是按小时级别汇总的,所以我假设。我对您的预期输出感到有些困惑。你想在你的情节上每小时得到一个点吗?如果是,那么您可以做一个 geom_point(或 geom_jitter 用于许多重叠点)。
-
geom_smooth 的目的是汇总数据,所以我不确定您是否正在为您希望生成的内容找到正确的 geom_*。你能描述一下你希望的情节吗?
-
我不确定我是否理解您的问题。如果我添加 geom_point() 我每小时看到两个点。