用ggplot重现良好的日志图?

时间:2014-02-20 00:51:44

标签: r ggplot2

我有一组测井数据。在工业中,有专门的软件来生产典型的钻孔测井图。这是一个简化的: well-log plot

令人兴奋的事情是:

  • 他们基本上是方面的情节
  • 深度是独立的var,但是在垂直轴上
  • 绘制了几个测井记录,
  • 对联中的每个日志可能具有不同的值范围

因为这是一个非常传统的行业,我想用我的软件(我没有专业的东西,作为学生)密切复制这些图的格式。我已经使用ggplot在路径上走了一段路,但我不知道如何做一些事情。为了解决问题,这里有一些示例数据和代码:

log <- structure(list(Depth = c(282.0924, 282.2448, 282.3972, 282.5496, 
282.702, 282.8544, 283.0068, 283.1592, 283.3116, 283.464, 283.6164, 
283.7688, 283.9212, 284.0736, 284.226, 284.3784, 284.5308, 284.6832, 
284.8356, 284.988), FOO = c(4.0054, 4.0054, 4.0054, 4.0691, 4.0691, 
4.0691, 4.0674, 4.0247, 4.0247, 4.0247, 4.0362, 4.1059, 4.2019, 
4.2019, 4.2019, 4.0601, 4.0601, 4.0601, 4.2025, 4.387), BAR = c(192.126, 
190.2222, 188.6759, 188.6759, 188.6759, 189.7761, 189.7761, 189.7761, 
189.2443, 187.2355, 184.9368, 182.5421, 181.882, 181.344, 180.9305, 
180.9305, 180.9305, 181.5986, 182.4397, 182.8301)), .Names = c("Depth", 
"FOO", "BAR"), row.names = c(NA, 20L), class = "data.frame")

library(reshape2)
library(ggplot2)

# Melt via Depth:
melted <- melt(log, id.vars='Depth')

sp <- ggplot(melted, aes(x=value, y=Depth)) +
    theme_bw() + 
    geom_path() + 
    labs(title='') +
    scale_y_reverse() + 
    facet_grid(. ~ variable, scales='free_x')

我不知道如何:

  • 在一个方面组合两个变量,并成功管理范围
  • 具有如上图所示的值范围,位于方面的顶部
  • 将标签绘制为单独的方面。我已经从示例数据中排除了标签,因为它让我感到困惑。

欢迎任何帮助。

1 个答案:

答案 0 :(得分:2)

  

我不知道如何:

     
      
  • 在一个方面组合两个变量,并成功管理范围
  •   

我的回答只涉及你的第一个要点的第一部分。

colsplit()函数对于这些情况很有用。假设多个井的变量名称 工具 类似于FOO_1FOO_2BAR_1,{{ 1}}对于测量变量BAR_2FOO超过 仪器 1和2,那么你可以调用BAR colsplit之后将适当的结构添加回您的融化数据框。

melt

enter image description here