Path: blob/main/tests/docs/manuscript/qmd-full/_freeze/notebook/execute-results/ipynb.json
3597 views
{1"hash": "06dcaed811efaf354eb73c12d6780814",2"result": {3"markdown": "::: {.cell warning.hidden='true' message.hidden='true'}\n\n```{.r .cell-code .hidden}\n#| message: false\nlibrary(tidyverse)\n```\n\n::: {.cell-output .cell-output-stderr .hidden}\n```\n── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──\n✔ dplyr 1.1.2 ✔ readr 2.1.4\n✔ forcats 1.0.0 ✔ stringr 1.5.0\n✔ ggplot2 3.4.2 ✔ tibble 3.2.1\n✔ lubridate 1.9.2 ✔ tidyr 1.3.0\n✔ purrr 1.0.1 \n── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──\n✖ dplyr::filter() masks stats::filter()\n✖ dplyr::lag() masks stats::lag()\nℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors\n```\n:::\n\n```{.r .cell-code .hidden}\n#| message: false\nlibrary(ggExtra)\n```\n:::\n\n::: {.cell warning.hidden='true' message.hidden='true'}\n\n```{.r .cell-code .hidden}\n#| label: \"data-import\"\n#| message: false\n#| results: hide\ndf_ign <- read_csv(\"data/lapalma_ign.csv\")\n```\n\n::: {.cell-output .cell-output-stderr .hidden}\n```\nRows: 11347 Columns: 14\n── Column specification ────────────────────────────────────────────────────────\nDelimiter: \",\"\nchr (3): Event, Intensity, Location\ndbl (8): Latitude, Longitude, Depth(km), Magnitude, Type Mag, Timestamp, Sw...\ndttm (1): DateTime\ndate (1): Date\ntime (1): Time\n\nℹ Use `spec()` to retrieve the full column specification for this data.\nℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.\n```\n:::\n\n```{.r .cell-code .hidden}\n#| label: \"data-import\"\n#| message: false\n#| results: hide\ndf_ign <- df_ign |>\n mutate(\n Mag = floor(Magnitude),\n Depth = case_when(\n `Depth(km)` >= 28 ~ \"Deep (>28km)\",\n `Depth(km)` >= 18 ~ \"Interchange (18km>x>28km)\",\n TRUE ~ \"Shallow (< 18km)\"\n ))\ndf_ign\n```\n:::\n\n::: {.cell warning.hidden='true' message.hidden='true'}\n\n```{.r .cell-code .hidden}\n#| label: epochs\ncut_times <- ymd_hms(c(\"2021-09-11\", \"2021-09-19 14:13:00\", \"2021-10-01\", \"2021-12-01\", \"2021-12-31\", \"2022-01-01\"), truncated = 3)\nepochs <- tibble(\n start = cut_times[-length(cut_times)], \n end = cut_times[-1], \n label = c(\"pre\", \"early\", \"phase1\", \"phase2\", \"phase3\"),\n text = c('Pre\\nEruptive\\nSwarm', \n 'Early Eruptive\\nPhase',\n 'Main Eruptive Phase\\n(sustained gas and lava ejection)', \n 'Final Eruptive Phase\\n(reducing gas and lava ejection)',\n NA\n )\n)\n```\n:::\n\n::: {.cell warning.hidden='true' message.hidden='true'}\n\n```{.r .cell-code .hidden}\n#| label: \"erupt-data\"\nmag_breaks <- c(0, 1, 2, 3, 4, 6)\nmag_labels <- c(\"0 < M <= 1\",\"1 < M <= 2\",\"2 < M <= 3\",\"3 < M <= 4\",\"M > 4\")\ndf_erupt <- df_ign |>\n filter(Date < as.Date(\"2022-01-01\") & Date > as.Date(\"2021-09-11\")) |>\n mutate(Magnitude_categories = cut(Magnitude, \n breaks = mag_breaks, labels = mag_labels, right = FALSE))\n```\n:::\n\n::: {.cell warning.hidden='true' message.hidden='true'}\n\n```{.r .cell-code .hidden}\n#| label: colors\ncolors <- c(\"#1f77b4\",\"#aec7e8\",\"#ff7f0e\",\"#ffbb78\",\"#2ca02c\",\"#98df8a\",\n \"#d62728\",\"#ff9896\",\"#9467bd\",\"#c5b0d5\",\"#8c564b\",\"#c49c94\",\"#e377c2\",\n \"#f7b6d2\",\"#7f7f7f\",\"#c7c7c7\",\"#bcbd22\",\"#dbdb8d\",\"#17becf\",\"#9edae5\")\n```\n:::\n\n::: {.cell warning.hidden='true' message.hidden='true'}\n\n```{.r .cell-code .hidden}\n#| label: \"plot-timeline\"\n#| warning: false\n#| fig-width: 24\n#| fig-height: 12\neruption <- ymd_hms(\"2021-09-19 14:13:00\")\ndate_axis_breaks <- as.Date(\"2021-10-15\") + months(rep(0:2, each = 2)) - \n days(rep(c(14, 0), times = 3))\ndate_axis_breaks <- c(eruption, date_axis_breaks[-1])\n\n# Custom Magnitude Scale transform\ntrans_mag <- scales::trans_new(\n name = \"Magnitude transformation\",\n transform = \\(x) 3*2^(1.3*x),\n inverse = \\(x) (1/1.3) * log2(x/3)\n)\n\n \ndf_erupt |>\n arrange(Magnitude) |> \n ggplot(aes(DateTime, `Depth(km)`)) + \n geom_point(aes(fill = Magnitude_categories, size = Magnitude,\n alpha = Magnitude_categories), shape = 21, color = \"black\") +\n geom_vline(xintercept = eruption, color = colors[7]) +\n annotate(\"text\", x = eruption, y = 20, label = \"ERUPTION\", \n color = colors[7], angle = 90, hjust = 1, vjust = -0.2, size = 6) +\n annotate(\"rect\", xmin = epochs$start, xmax = epochs$end,\n ymin = -Inf, ymax = Inf, fill = colors[c(1, 3, 5, 7, 7)], alpha = 0.1) + \n annotate(\"text\", x = epochs$start + 0.5*(epochs$end - epochs$start), y = -4, \n label = epochs$text, color = colors[c(1, 3, 5, 7, NA)], size = 7) +\n scale_y_continuous(\"Depth (km)\", trans = scales::reverse_trans(), \n breaks = seq(0, 40, 10), limits = c( 45, -5), sec.axis = dup_axis()) +\n scale_x_datetime(\"Eruption Timeline\", expand = c(0, 0), \n date_labels = \"%Y-%m-%d\", breaks = date_axis_breaks) +\n scale_fill_manual(\"Event Magnitude (M)\", values = colors[c(13, 17, 5, 3, 7)]) +\n scale_alpha_manual(\"Event Magnitude (M)\", values = c(0.3, 0.4, 0.5, 0.6, 0.8)) +\n scale_size(\"Event Magnitude (M)\", breaks = 1:5, labels = mag_labels, \n trans = trans_mag) +\n theme_bw(base_size = 20, base_family = \"Helvetica\") + \n theme(\n legend.position = c(0.01, 0.01), \n legend.justification = c(\"left\", \"bottom\"),\n panel.grid.major.x = element_blank(),\n panel.grid.minor.x = element_blank(),\n panel.grid.minor.y = element_blank(),\n panel.border = element_blank(),\n axis.line.x.bottom = element_line(color = \"grey50\"),\n axis.title.y.right = element_blank(),\n plot.title = element_text(hjust = 0.5, margin = margin(t = 20, b = 20))\n ) +\n labs(title = \"Recorded seismicity during the La Palma eruption 11 September - 15 December 2021 (INVOLCAN Dataset)\")\n```\n\n::: {.cell-output .cell-output-stderr .hidden}\n```\nWarning: Removed 1 rows containing missing values (`geom_point()`).\n```\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n```\nWarning: Removed 1 rows containing missing values (`geom_text()`).\n```\n:::\n\n::: {.cell-output-display}\n\n:::\n:::\n\n::: {.cell warning.hidden='true' message.hidden='true'}\n\n```{.r .cell-code .hidden}\n#| label: \"plot-dists\"\n#| fig-height: 10\n#| fig-width: 8\nblue <- \"#336699\"\n\np <- df_ign |> \n ggplot(aes(Magnitude, `Depth(km)`)) +\n geom_point(alpha = 0.6, color = blue) +\n geom_density2d(color = blue, n = 100, h = c(1, 8), bins = 20) + \n scale_y_continuous(trans = \"reverse\") +\n coord_fixed(ratio = 1/8) +\n labs(title = \"Cumulative Events 01-01-2017 to 01-01-2022\") + \n theme_bw() +\n theme(\n plot.title = element_text(hjust = 0.5, margin = margin(t = 20, b = 20))) \n \n\nggMarginal(p, type = \"histogram\", bins = 20, fill = blue, color = \"white\") \n```\n\n::: {.cell-output-display}\n\n:::\n:::\n",4"supporting": [5"notebook_files/figure-ipynb"6],7"filters": [8"rmarkdown/pagebreak.lua"9],10"includes": {},11"engineDependencies": {},12"preserve": null,13"postProcess": false14}15}1617