【问题标题】:Use facet_grid option to plot column of dataframe with ggplot2使用 facet_grid 选项用 ggplot2 绘制数据框的列
【发布时间】:2012-06-01 14:25:35
【问题描述】:

我从模拟中得到了一些结果,我想做一个像下图这样的刻面,我不知道是否可以用 ggplot2 和 facet_grid 选项来做这个。

我的模拟结果具有这种“简化”形式,逐行模拟:

dat <- read.table(textConnection("P1 P2 P3 P4 R 
1 2e-5 1.0 0.6 3 1
2 4e-6 1.5 0.7 1.5 2
3 6e-7 1.2 0.6 2.5 3 
4 8e-8 1.45  0.65 3.2 4
"))

在这里你可以看到我想用 ggplot2 和 facet_grid 生成的简化图形

我有一个按参数的方面/图形,不同的比例对应于我的每个参数的最小/最大值...您还可以在此图中看到颜色对应关系,以在参数空间中定位每个模拟。

非常感谢您的帮助

SR。

【问题讨论】:

  • 除了小错字(“06”而不是“0.6”)之外,我认为您的数据与您的预期图表不匹配。是否有额外的列或缺少列标题?事实上,看起来与 P1 一起的数据实际上是在 ID 列中。
  • 谢谢,我纠正了错误。以图形和数据为例,所以数据并不能真正代表简化图:)

标签: r ggplot2 simulation facet


【解决方案1】:

这是一个开始:

library(plyr)
library(ggplot2)
dat.melt <- melt(data, id.vars='R')

ggplot(dat.melt, aes(x=0, y=value)) +
    geom_boxplot() +
    geom_point(aes(colour=factor(R))) +
    facet_wrap(~variable, ncol=1, scales='free') +
    coord_flip()

还有很多其他的调整,但要点就在那里。通常一个好的第一步是melt 数据长然后开始摆弄。附带说明一下,避免使用 data 作为变量名是一个好主意,因为它是一个内置函数。

【讨论】:

猜你喜欢
  • 2018-04-08
  • 2012-10-26
  • 1970-01-01
  • 2021-02-10
  • 2017-03-04
  • 1970-01-01
  • 2019-07-28
  • 2014-06-18
  • 2013-06-30
相关资源
最近更新 更多