将3个qplots(ggplot2)叠加到一个图形中进行打印/保存

时间:2012-04-08 20:31:23

标签: r ggplot2

我开始使用ggplot来生成一些图形。我使用他们在网站上的基本样本作为“步骤图”:http://had.co.nz/ggplot2/geom_step.html

我需要像该页面中的最后一个例子。我发现的问题是示例是在一个DF中,并且每个Y在X中都有不同的值。我有3组要绘制,所有这些都在所有X中具有相同的X和Y值。我不知道如何生成R中的图形。在Excel中,我创建了第一行,并添加了另外两个作为新数据系列,但我在ggplot中迷失了。任何建议都非常感谢。

我的情节命令现在是这样的(每个命令都有不同的df):

qplot(seq_along(x), x, data = df, geom="step", colour = trt)

有没有办法让一个df具有所有值?任何例子都会很棒。提前感谢您的时间

编辑>>>>

以下是一些数据:

head(df_nourbanas)
     x        trt
1    3 no urbanas
2   85 no urbanas
3  450 no urbanas
4  942 no urbanas
5 1362 no urbanas
6 1699 no urbanas

head(df_urbanas)
     x     trt
1   65 urbanas
2 1019 urbanas
3 2192 urbanas
4 3164 urbanas
5 3847 urbanas
6 4338 urbanas

head(df_todas)
     x   trt
1    3 todas
2  152 todas
3 1481 todas
4 3158 todas
5 4564 todas
6 5593 todas

这是我需要使用步骤模式直接从R形成的(这是excel) r_steps

1 个答案:

答案 0 :(得分:0)

您遇到了问题,因为您在数据集中使用隐含信息:点的顺序,即x轴位置。明确这一点,事情就变得容易了。

df_nourbanas$idx <- seq(length=nrow(df_nourbanas))
df_urbanas$idx <- seq(length=nrow(df_urbanas))
df_todas$idx <- seq(length=nrow(df_todas))

现在可以组合这3个数据集。

df_all <- rbind(df_nourbanas, df_urbanas, df_todas)

并绘制它们只是

ggplot(df_all, aes(x=idx, y=x, colour=trt)) +
  geom_step()

enter image description here