使用ggplot2进行2x1刻面

时间:2015-10-23 21:23:29

标签: r ggplot2

我试图用ggplot2中的直方图制作一个简单的方面

data <- read.csv("/hist_distances.csv", check.names = FALSE, sep = ",")

mdata <- melt(data)

m <- ggplot(data, aes(x=Distance))
m + geom_histogram()
  

头(数据)

给出:

     Times Distance
1 3.093060 260.8840
2 2.557780 187.4960
3 0.263611  10.6584
4 2.880000 184.5970
5 5.035000 281.3490
6 6.952780 251.4730
  

头(MDATA)

给出:

  variable    value
1    Times 3.093060
2    Times 2.557780
3    Times 0.263611
4    Times 2.880000
5    Times 5.035000
6    Times 6.952780

  

尾(MDATA)

给出:

     variable    value
1739 Distance 1.103670
1740 Distance 1.695610
1741 Distance 3.795020
1742 Distance 6.651960
1743 Distance 0.719843
1744 Distance 6.504050

生成此图形: enter image description here

我试过了:

m <- ggplot(mdata, aes(x=value)) +
geom_histogram() +
m + facet_wrap(~ variable)

没有成功。

如何生成刻面图,使用直方图变量&#34; times&#34;在顶部和一个变量&#34;距离的直方图&#34;在底部?

1 个答案:

答案 0 :(得分:3)

使用facet_grid(variable ~ .),其中facet_grid(row~column):

df <- data.frame(Time = rnorm(100),
                 Distance = rnorm(100)
                )
dfm <- melt(df)

ggplot(dfm, aes(x=value)) + geom_histogram() + facet_grid(variable ~ .)

编辑后续评论: 如果您的数据位于不同的比例,请使用facet_grid(variable ~ ., scales = "free")

有关选项,请参阅help(facet_grid)

enter image description here