Este cuaderno visualiza los mapas de la distribución de los pisos de la Sareb
library(tidyverse)
library(ggrepel) # para etiquetas
library(RColorBrewer)
library(mapSpain)
library(sf)
library(ggthemes) # Temas
fecha_2023 <- "17 de abril 2023"
fecha_2025 <- "13 de enero 2025"
pisos <- read_delim (
"https://raw.githubusercontent.com/congosto/congosto.github.io/refs/heads/master/sareb_por_provincia_2025.csv",
delim =";")
url_file_coor_ccaa <- "https://raw.githubusercontent.com/montera34/escovid19data/master/data/original/shapes/spain_regions_utm.csv"
coor_ccaa <- read_delim (url_file_coor_ccaa , delim =";",
locale = locale ( decimal_mark = ".", grouping_mark = ","))
mapSpain_ccaa <- esp_get_ccaa()
Can <- esp_get_can_box()
df <- pisos %>%
group_by(Autonomia) %>%
summarise(num_pisos = sum(pisos_2023))
pisos_iso_ine <- left_join (df,coor_ccaa, by = c("Autonomia" = "ISO_name"))
map_autonomias_pisos <-left_join (mapSpain_ccaa,pisos_iso_ine, by = c("ine.ccaa.name"="INE_name" ))
breaks <- c(seq(0,15000, by = 2500))
ggplot(data = map_autonomias_pisos ) +
geom_sf(
aes(
fill = num_pisos),
color = "grey70") +
geom_sf(data = Can, color = "grey70") +
geom_sf_label (
aes(
label = num_pisos
),
stat = "sf_coordinates",
size = 3,
fill = "white",
alpha = 0.5,
label.size = 0,
color = "grey40") +
scale_fill_gradient (
low = "#fff7bc",high = "#d95f0e",
guide = guide_legend(),
breaks =breaks) +
labs(
title = "Pisos disponibles de la Sareb por autonomÃa",
subtitle = fecha_2023,
x = "",
y = "") +
guides(fill = guide_legend(title = "Número\nde Pisos")) +
guides(colour = "none") +
theme_void() +
theme (
legend.position = c(0.1, 0.6),
title = element_text(color = "grey50", size = 12),
legend.text = element_text(color = "grey50", size = 8))
mapSpain_prov <- esp_get_prov()
map_provincias_pisos <-left_join (mapSpain_prov,pisos, by = c("ine.prov.name"="provincia" ))
breaks <- c(seq(0,7000, by = 1500))
Can <- esp_get_can_box()
ggplot(data =map_provincias_pisos ) +
geom_sf(
aes(
fill = pisos_2023),
color = "grey70") +
geom_sf(data = Can, color = "grey70") +
geom_sf_label (
aes(label = pisos_2023),
stat = "sf_coordinates",
size = 3,
fill = "white",
alpha = 0.5,
label.size = 0,
color = "grey40") +
scale_fill_gradient (
low = "#fff7bc",high = "#d95f0e",
guide = guide_legend(),
breaks =breaks) +
labs(
title = "Pisos disponibles de la Sareb por provincia",
subtitle = fecha_2023,
x = "",
y = "") +
guides(fill = guide_legend(title = "Número\nde Pisos")) +
guides(colour = "none") +
theme_void() +
theme (
legend.position = c(0.1, 0.6),
title = element_text(color = "grey50", size = 12),
legend.text = element_text(color = "grey50", size = 8))
url_file_coor_ccaa <- "https://raw.githubusercontent.com/montera34/escovid19data/master/data/original/shapes/spain_regions_utm.csv"
coor_ccaa <- read_delim (url_file_coor_ccaa , delim =";",
locale = locale ( decimal_mark = ".", grouping_mark = ","))
mapSpain_ccaa <- esp_get_ccaa()
Can <- esp_get_can_box()
df <- pisos %>%
group_by(Autonomia) %>%
summarise(num_pisos = sum(pisos_2025))
pisos_iso_ine <- left_join (df,coor_ccaa, by = c("Autonomia" = "ISO_name"))
map_autonomias_pisos <-left_join (mapSpain_ccaa,pisos_iso_ine, by = c("ine.ccaa.name"="INE_name" ))
breaks <- c(seq(0,15000, by = 2500))
ggplot(data = map_autonomias_pisos ) +
geom_sf(
aes(
fill = num_pisos),
color = "grey70") +
geom_sf(data = Can, color = "grey70") +
geom_sf_label (
aes(label = num_pisos),
stat = "sf_coordinates",
size = 3,
fill = "white",
alpha = 0.5,
label.size = 0,
color = "grey40") +
scale_fill_gradient (
low = "#fff7bc",high = "#d95f0e",
guide = guide_legend(),
breaks =breaks) +
labs(
title = "Pisos disponibles de la Sareb por autonomÃa",
subtitle = fecha_2025,
x = "",
y = "") +
guides(fill = guide_legend(title = "Número\nde Pisos")) +
guides(colour = "none") +
theme_void() +
theme (
legend.position = c(0.1, 0.6),
title = element_text(color = "grey50", size = 12),
legend.text = element_text(color = "grey50", size = 8))
mapSpain_prov <- esp_get_prov()
map_provincias_pisos <-left_join (mapSpain_prov,pisos, by = c("ine.prov.name"="provincia" ))
breaks <- c(seq(0,7000, by = 1500))
Can <- esp_get_can_box()
ggplot(data =map_provincias_pisos ) +
geom_sf(
aes(
fill = pisos_2025),
color = "grey70") +
geom_sf(data = Can, color = "grey70") +
geom_sf_label (
aes(label = pisos_2025),
stat = "sf_coordinates",
size = 3,
fill = "white",
alpha = 0.5,
label.size = 0,
color = "grey40") +
scale_fill_gradient (
low = "#fff7bc",high = "#d95f0e",
guide = guide_legend(),
breaks =breaks) +
labs(
title = "Pisos disponibles de la Sareb por provincia",
subtitle = fecha_2025,
x = "",
y = "") +
guides(fill = guide_legend(title = "Número\nde Pisos")) +
guides(colour = "none") +
theme_void() +
theme (
legend.position = c(0.1, 0.6),
title = element_text(color = "grey50", size = 12),
legend.text = element_text(color = "grey50", size = 8))
url_file_coor_ccaa <- "https://raw.githubusercontent.com/montera34/escovid19data/master/data/original/shapes/spain_regions_utm.csv"
coor_ccaa <- read_delim (url_file_coor_ccaa , delim =";",
locale = locale ( decimal_mark = ".", grouping_mark = ","))
mapSpain_ccaa <- esp_get_ccaa()
Can <- esp_get_can_box()
df <- pisos %>%
group_by(Autonomia) %>%
summarise(num_pisos = sum(pisos_2025-pisos_2023)) %>%
mutate(text_color = ifelse(num_pisos >= 0, "grey50","#a70317"))
pisos_iso_ine <- left_join (df,coor_ccaa, by = c("Autonomia" = "ISO_name"))
map_autonomias_pisos <-left_join (mapSpain_ccaa,pisos_iso_ine, by = c("ine.ccaa.name"="INE_name" ))
breaks <- c(seq(-2500, 600, by = 500))
ggplot(data = map_autonomias_pisos ) +
geom_sf(
aes(
fill = num_pisos),
color = "grey70") +
geom_sf(data = Can, color = "grey70") +
geom_sf_label (
aes(
label = num_pisos,
color = text_color
),
stat = "sf_coordinates",
size = 3,
fill = "white",
alpha = 0.8,
label.size = 0) +
scale_fill_gradient (
low = "#e30120",high = "#018ae3",
guide = guide_legend(),
breaks =breaks) +
labs(
title = "Diferencia de pisos de la Sareb disponibles entre 2025 y 2023",
subtitle = paste("Entre", fecha_2025, "y", fecha_2023),
x = "",
y = "") +
guides(fill = guide_legend(title = "Diferencia\nde Pisos")) +
guides(colour = "none") +
theme_void() +
theme (
legend.position = c(0.1, 0.6),
title = element_text(color = "grey50", size = 12),
legend.text = element_text(color = "grey50", size = 8))
mapSpain_prov <- esp_get_prov()
map_provincias_pisos <-left_join (mapSpain_prov,pisos, by = c("ine.prov.name"="provincia" )) %>%
mutate(diff_pisos = pisos_2025-pisos_2023) %>%
mutate(text_color = ifelse(diff_pisos >= 0, "grey50","#a70317"))
breaks <- c(seq(-1500, 1200, by = 500))
Can <- esp_get_can_box()
ggplot(data =map_provincias_pisos ) +
geom_sf(
aes(
fill = diff_pisos),
color = "grey70") +
geom_sf(data = Can, color = "grey70") +
geom_sf_label (
aes(
label = diff_pisos,
color = text_color
),
stat = "sf_coordinates",
size = 3,
fill = "white",
alpha = 0.8,
label.size = 0,
color = "grey40") +
scale_fill_gradient (
low = "#e30120",high = "#018ae3",
guide = guide_legend(),
breaks =breaks) +
labs(
title = "Diferencia de pisos de la Sareb disponibles entre 2025 y 2023 por provincia",
subtitle = paste("Entre", fecha_2025, "y", fecha_2023),
x = "",
y = "") +
guides(fill = guide_legend(title = "Diferencia\nde Pisos")) +
guides(colour = "none") +
theme_void() +
theme (
legend.position = c(0.1, 0.6),
title = element_text(color = "grey50", size = 12),
legend.text = element_text(color = "grey50", size = 8))
url_file_coor_ccaa <- "https://raw.githubusercontent.com/montera34/escovid19data/master/data/original/shapes/spain_regions_utm.csv"
coor_ccaa <- read_delim (url_file_coor_ccaa , delim =";",
locale = locale ( decimal_mark = ".", grouping_mark = ","))
mapSpain_ccaa <- esp_get_ccaa()
Can <- esp_get_can_box()
df <- pisos %>%
group_by(Autonomia) %>%
summarise(num_pisos = sum(en_obra_2025))
pisos_iso_ine <- left_join (df,coor_ccaa, by = c("Autonomia" = "ISO_name"))
map_autonomias_pisos <-left_join (mapSpain_ccaa,pisos_iso_ine, by = c("ine.ccaa.name"="INE_name" ))
breaks <- c(seq(0,150000, by = 500))
ggplot(data = map_autonomias_pisos ) +
geom_sf(
aes(
fill = num_pisos),
color = "grey70") +
geom_sf(data = Can, color = "grey70") +
geom_sf_label (
aes(label = num_pisos),
stat = "sf_coordinates",
size = 3,
fill = "white",
alpha = 0.5,
label.size = 0,
color = "grey40") +
scale_fill_gradient (
low = "#fff7bc",high = "#d95f0e",
guide = guide_legend(),
breaks =breaks) +
labs(
title = "Pisos en obra de la Sareb por por autonomÃa",
subtitle = fecha_2025,
x = "",
y = "") +
guides(fill = guide_legend(title = "Número\nde Pisos")) +
guides(colour = "none") +
theme_void() +
theme (
legend.position = c(0.1, 0.6),
title = element_text(color = "grey50", size = 12),
legend.text = element_text(color = "grey50", size = 8))
mapSpain_prov <- esp_get_prov()
map_provincias_pisos <-left_join (mapSpain_prov,pisos, by = c("ine.prov.name"="provincia" ))
breaks <- c(seq(0,4000, by = 500))
Can <- esp_get_can_box()
ggplot(data =map_provincias_pisos ) +
geom_sf(
aes(
fill = en_obra_2025),
color = "grey70") +
geom_sf(data = Can, color = "grey70") +
geom_sf_label (
aes(label = en_obra_2025),
stat = "sf_coordinates",
size = 3,
fill = "white",
alpha = 0.5,
label.size = 0,
color = "grey40") +
scale_fill_gradient (
low = "#fff7bc",high = "#d95f0e",
guide = guide_legend(),
breaks =breaks) +
labs(
title = "Pisos en obra de la Sareb por provincia",
subtitle = fecha_2025,
x = "",
y = "") +
guides(fill = guide_legend(title = "Número\nde Pisos")) +
guides(colour = "none") +
theme_void() +
theme (
legend.position = c(0.1, 0.6),
title = element_text(color = "grey50", size = 12),
legend.text = element_text(color = "grey50", size = 8))
```