首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ggplot2进行分组的时间序列图

使用ggplot2进行分组的时间序列图
EN

Stack Overflow用户
提问于 2011-10-02 18:02:23
回答 1查看 2.3K关注 0票数 4

我有一个实验,随着时间的推移,已经研究了三种不断进化的酵母种群。在离散的时间点,我们测量了它们的增长,这是响应变量。我基本上想要将酵母的生长绘制为时间序列,使用箱图来总结每个点的测量结果,并分别绘制三个种群的每个种群。基本上,看起来像这样的东西(作为一个新手,我不能发布实际的图像,所以x,y,z指的是三个重复的图像):

代码语言:javascript
复制
|              xyz
|       x z    xyz
|  y    xyz
| xyz    y
| x z     
|
-----------------------
  t0     t1    t2

如何使用ggplot2来实现这一点?我有一种感觉,一定有一个简单而优雅的解决方案,但我找不到。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-10-02 23:32:16

尝试以下代码:

代码语言:javascript
复制
require(ggplot2)

df <- data.frame(
  time = rep(seq(Sys.Date(), len = 3, by = "1 day"), 10),
  y = rep(1:3, 10, each = 3) + rnorm(30),
  group = rep(c("x", "y", "z"), 10, each = 3)
)
df$time <- factor(format(df$time, format = "%Y-%m-%d"))

p <- ggplot(df, aes(x = time, y = y, fill = group)) + geom_boxplot()
print(p)

只有在使用x = factor(time)时,ggplot(df, aes(x = factor(time), y = y, fill = group)) + geom_boxplot() + scale_x_date()才不起作用。

对于这种形式的图形,需要预处理,即factor(format(df$time, format = "%Y-%m-%d"))

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7625715

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档