使用 Patchwork 中的plot_layout() 收集轴:对齐和绘制沉积物岩心图像和井下测井

问题描述 投票:0回答:1

结合使用 ggplot2、magick 和 patchwork,我已经非常接近获得程序化沉积物岩心井下测井图,其中缩放照片沿左侧 y 轴对齐。请参阅下面的当前结果以及数据和代码。我剩下的问题是删除图像和数据图之间的深度 y 轴。 Patchwork 似乎可以使用以下方法来做到这一点:

plot_layout(axes = "collect_y")
,但是,我无法让它正常工作。

我应该注意到,我在这里所做的尝试混合缩放图像和绘图对于这些包来说似乎有点不寻常。我哪里错了?也许有更好的方法在 R 中创建这样的情节吗?

这是我目前能够获得的: plot currently achievable with sample code

这就是我拍摄的大致目的: enter image description here

样本数据位于此处:样本数据

# Load Required Packages
library(ggplot2)
library(patchwork)
library(magick)

# Read in plot data
data <- read.csv(file = "Data/data.csv")

# Plotting ----
## L* and b* in log format
logplot <- ggplot(data) +
  geom_path(aes(x=value, y=depth)) +
  ylim(1.2,0) +
  scale_y_reverse() +
  labs(title='Core 10004_6A_1_2') +
  facet_grid(cols = vars(metric), scales = 'free_x')

## Read in RGB plot image
plotimg <- "Data/10004_6A_1_2.png"
image<-image_read(plotimg)
raster<-as.raster(image)

## Plot Core Image
image <- ggplot(data,aes(x,depth)) + 
  scale_y_reverse() +
  ylim(1.2,0) +
  xlim(0,0.044) +
  coord_flip() + 
  coord_fixed(expand = TRUE) +
  annotation_raster(raster, 0, 0.044, -1.182, 0)
image

## Patchwork Plots
(image | logplot) + plot_layout(axes = "collect_y") & ylim(1.2, 0)
r ggplot2 patchwork magick
1个回答
0
投票
logplot <- logplot + theme(
    axis.title.y = element_blank(),
    axis.text.y = element_blank(),
    axis.ticks.y = element_blank()
  )

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.