library(tidyverse)
library(leaflet) # interactive cartography
library(butinagepei) # charger les jeux de données
# TABLE ESPECES -----------------------------------------------------------
# # statuts
#
# statuts <- read_csv2(
# "data-raw/Flore_ReunionCBNM.csv",
# locale = locale(encoding = "ISO-8859-1"),
# skip = 5,
# col_types = cols_only(`NOM BOTANIQUE` = col_guess(), `MENACE RÉUNION` = col_guess())
# ) %>% # import des colonnes intéressantes
# rename(latin = "NOM BOTANIQUE", statut = "MENACE RÉUNION") %>% # on renomme les colonnes
# filter(!is.na(statut)) %>% # on enlève les statuts manquants
# separate(latin, into = c("g_latin", "e_latin"), extra = "drop") %>% # on sépare les noms latins en genre et espece
# mutate(
# espece = str_c(str_sub(g_latin, end = 3), str_sub(e_latin, end = 3)) %>% str_to_upper() # on recrée le code à 6 lettres
# ) %>%
# distinct(espece, statut, .keep_all = TRUE) # on conserve les combinaisons uniques
#
#
#
# table(statuts$espece)[table(statuts$espece) > 1] # arrrrgh
# table(statuts$statut)
#
#
# # especes uniques de la table suivi avec info de statut si présente
#
#
# table(suivi$espece)
#
# especes <- suivi %>%
# distinct(espece, g_latin, e_latin) %>%
# arrange(espece)
#
#
# especes <- left_join(especes, statuts)
#
# table(especes$statut)
#
# # anti_join(especes, statuts)
# # anti_join(statuts, especes)
#
categories <- sort(unique(suivi$vernaculaire))
color_species <- colorRampPalette(c("red", "darkgreen", "blue"))(length(categories)) %>%
setNames(categories)
# VISUALISATION TEMPORELLE ------------------------------------------------
# filtrer sur les espèces les plus courantes et/ou les espèces sélectionnées
ggplot(suivi) +
aes(x = date, y = espece) +
geom_violin(colour = "transparent", fill = "#333333") +
geom_point()
ggplot(suivi) +
aes(date) +
geom_freqpoly(bins = 40)
suivi %>%
filter(
vernaculaire %in% "Fleur jaune"
) %>%
ggplot() +
aes(x = date, fill = vernaculaire) +
geom_density(alpha = 0.8) +
geom_rug(length = unit(0.1, "npc")) +
labs(x = "", y = "") +
scale_fill_manual(values = color_species) +
scale_x_date(date_labels = "%m/%y") +
scale_y_continuous(breaks = NULL, expand = expansion(mult = 0.15)) +
facet_wrap(vars(vernaculaire), ncol = 1, scales = "free_y") +
ggdark::dark_theme_light() +
theme(legend.position = "none", strip.text = element_text(size = 14))
# VISUALISATION SPATIALE --------------------------------------------------
# set color scale for species
categories <- unique(suivi$espece)
RdYlBu <- colorFactor("RdYlBu", domain = categories)
suivi_sel <- suivi %>%
filter(between(date, as.Date("2011-01-01"), as.Date("2019-08-01")))
# map data
leaflet(suivi_sel, options = leafletOptions(maxZoom = 15)) %>% # maxzoom anonymizes data
addProviderTiles("Stamen.Terrain") %>%
setView(55.5125, -21.1486, zoom = 10) %>% # make the output aera squared!
addCircleMarkers(~longitude,
~latitude,
color = ~RdYlBu(espece),
popup = ~paste(htmltools::htmlEscape(espece), htmltools::htmlEscape(date), sep = "<br/>"),
group = "ESP", # link to the legend
fill = FALSE,
opacity = 0.8,
radius = 8
) %>%
addLegend(pal = RdYlBu, values = ~espece, group = "ESP")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.