Выравнивание изображения с помощью мультипанели ggplot2 - PullRequest
0 голосов
/ 28 марта 2020

Попытка выровнять изображение с некоторыми графиками геохимических данных для набора данных и кода ниже. Участок должен быть в левой колонке и выровнен по верху и низу посаженных предметов. В идеале это должно выглядеть примерно так:

ggplot с выровненным изображением

Вот ссылка на изображение

k2_xrf <- tibble::tribble(
  ~Location, ~depth, ~depth_unit, ~param, ~count, ~units,  ~age, ~units_age,
  "Kiani",     0L,   "cm",   "Si",  2984L,  "ppm", 3000L,       "BP",
  "Kiani",     2L,   "cm",   "Si",  3318L,  "ppm",    NA,         NA,
  "Kiani",     4L,   "cm",   "Si",  3296L,  "ppm",    NA,       "BP",
  "Kiani",     6L,   "cm",   "Si",  3712L,  "ppm", 5400L,       "BP",
  "Kiani",     8L,   "cm",   "Si",  4416L,  "ppm",    NA,       "BP",
  "Kiani",     0L,   "cm",    "S",  3172L,  "ppm", 3000L,       "BP",
  "Kiani",     2L,   "cm",    "S",  3411L,  "ppm",    NA,       "BP",
  "Kiani",     4L,   "cm",    "S",  3835L,  "ppm",    NA,       "BP",
  "Kiani",     6L,   "cm",    "S",  4281L,  "ppm", 5400L,       "BP",
  "Kiani",     8L,   "cm",    "S",  3896L,  "ppm",    NA,       "BP",
  "Kiani",     0L,   "cm",    "K",   325L,  "ppm", 3000L,       "BP",
  "Kiani",     2L,   "cm",    "K",    99L,  "ppm",    NA,       "BP",
  "Kiani",     4L,   "cm",    "K",   180L,  "ppm",    NA,       "BP",
  "Kiani",     6L,   "cm",    "K",   559L,  "ppm", 5400L,       "BP",
  "Kiani",     8L,   "cm",    "K",   504L,  "ppm",    NA,       "BP"
)
library(tidyverse)
library(tidypaleo)

adm <- age_depth_model(depth = c(0, 6), age = c(3000, 5400))

k2_xrf %>%
  mutate(param = fct_relevel(param, "Si", "S", "K")) %>%
  ggplot(aes(x = count, y = depth)) +
  geom_lineh() +
  scale_y_depth_age(adm, age_breaks = c(3000, 5400)) +
  facet_geochem_gridh(vars(param))

1 Ответ

0 голосов
/ 28 марта 2020

Просто нужно добавить cols = vars (param) в facet_grid, как показано ниже. Также в вашем коде много опечаток. Убедитесь, что в следующий раз, когда вы вставляете код, вы просматриваете его.

library(tidyverse)
library(tidypaleo)

adm <- age_depth_model(depth = c(0, 6), age = c(3000, 5400))

k2_xrf %>%
  mutate(param = fct_relevel(param, "Si", "S", "K")) %>%
  ggplot(aes(x = count, y = depth)) +
  geom_line() +
  scale_y_depth_age(adm, age_breaks = c(3000, 5400)) +
  facet_grid(cols = vars(param)) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...