1

掘削プロファイルを表す積み上げ縦棒グラフがいくつかあります。地面の実際の高さを表すために、各ボアホールの y 位置をオフセットしたいと考えています。

私のデータは次のようになります。

 x layer.thickness layer.depth Petrography    BSCategory  Offset
 0             0.2         0.2        silt     Drilling1      0
 0             1.0         1.2      gravel     Drilling1      0
 0             3.0         4.2        silt     Drilling1      0
 4             0.4         0.4        silt     Drilling2     -1
 4             0.8         1.2      gravel     Drilling2     -1
 4             2.0         3.2        sand     Drilling2     -1

これまでの私の最小限の作業コードは次のとおりです。

df <- data.frame(x=c(0,0,0,4,4,4), layer.thickness = c(0.2,1.0,3.0,0.4,0.8,2.0), 
                 layer.depth = c(0.2,1.2,4.2,0.4,1.2,3.2), 
                 Petrography = c("silt", "gravel", "silt", "silt", "gravel", "sand"),
                 BSCategory = c("Drilling1","Drilling1","Drilling1","Drilling2","Drilling2","Drilling2"),
                 Offset = c(0,0,0,-1,-1,-1))

# provide a numeric ID that stops grouping individual petrography items
df <- transform(df,ix=as.numeric(factor(df$BSCategory)));


drilling <- ggplot(data = df, aes(x = x, y = layer.thickness, group = ix, fill = Petrography)) +
  theme_minimal() + 
  theme(axis.line = element_line(colour = "black"),
        panel.grid.major = element_blank(),
        panel.grid.minor = element_blank(),
        panel.border = element_blank(),
        panel.background = element_blank(),
        axis.line.x = element_blank(),
        axis.ticks.y = element_line(),
        aspect.ratio=1) +
  geom_col(position = position_stack(reverse = TRUE), width= .15,color="black") +
  scale_y_reverse(expand = c(0, 0), name ="Depth [m]") +
  scale_x_continuous(position = "top", breaks = df$x, labels=paste(df$BSCategory,"\n",df$x,"m"), name="") +
  scale_fill_manual(values = c("gravel"='#f3e03a', "sand"= '#e09637', "silt"='#aba77d'))

print(drilling)

これはこれまでの私の出力です(赤はどのように見えるかを示しています):

穴あけプロファイルの例

4

1 に答える 1