r - 将图像与多面板 ggplot2 对齐
问题描述
尝试将图像与以下数据集和代码的一些地球化学数据图对齐。绘图应位于左侧列,并与 platted 项目的顶部和底部对齐。理想情况下,它看起来像这样:
这是图片的链接
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))
解决方案
只需将 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))
推荐阅读
- ajax - 在ajax成功中打印返回值数组
- html - 我的电子邮件签名中的徽标图标飞到网络浏览器的最右侧,但我希望它的位置准确
- php - 如何创建重定向表单
- python - 为什么在我在表中添加列后,vertica 不摄取数据?
- java - 如何将 iaik.pkcs.pkcs11.objects.GenericSecretKey 转换为 java.security 密钥
- data-structures - 迭代程序的时间复杂度分析需要说明
- docker - Kubernetes私有注册中心(gitlab)镜像拉取不同节点
- node.js - 在共享主机上使用 vue-cli-service build / npm run build 时出错(创建工作池时出错)
- javascript - axios拦截器中更改请求方法
- angular6 - 如何在html中调用角度方法?