<- fullANPI %>% drop_na(long)
fullANPI_trim <- fullANPI_trim %>% subset(COB=="Italy")
fullANPI_trim
<- as.data.frame(fullANPI_trim)
fullANPI_trim
$Latitude <- fullANPI_trim$lat
fullANPI_trim$Longitude <- fullANPI_trim$long
fullANPI_trim
$latJIT <- jitter(fullANPI_trim$lat, factor = 100)
fullANPI_trim$longJIT <- jitter(fullANPI_trim$long, factor = 100)
fullANPI_trim
<- fullANPI_trim %>%
fullANPI_trim_sf st_as_sf(
coords = c("long", "lat"),
crs = st_crs("EPSG:6875") # CRS
)
= ne_countries(scale = 50, returnclass = "sf") |>
it filter(admin == "Italy")
<- ne_countries(scale = 10, continent = c("Europe"), returnclass = "sf")
mapData <- ne_states(country = "italy", returnclass = "sf")
it_states <- dplyr::select(it_states, name, geometry)
it_states
= ne_states(country = "italy", returnclass = "sf")
IT <- IT %>% dplyr::select(province = name, region, geometry)
IT
st_crs(fullANPI_trim_sf) <- st_crs(it)
= st_geometry(fullANPI_trim_sf)
pp = st_geometry(it)
window
= st_crs("EPSG:6875") # CRS
crs = st_transform(pp, crs)[!st_is_empty(pp)]
pp = st_transform(window, crs)
window = as.ppp(c(window, pp))
wt
# Smooth points
<- density(wt, dimyx = 500)
density_spatstat # Convert density_spatstat into a stars object.
<- stars::st_as_stars(density_spatstat)
density_stars # Convert density_stars into an sf object
<- st_as_sf(density_stars) %>% st_set_crs(32632)
density_sf
<- ggplot() +
map_density geom_sf(data = density_sf, aes(fill = v), col = NA) +
scale_fill_viridis_c(option = "magma") +
# scale_fill_gradientn(colours = c("grey80", "grey10")) +
# geom_sf(data = st_boundary(it_states)) +
theme_void() +
theme(legend.position="none")
map_density
Travelling in Italy a couple of times in the last few months, my eye was drawn to a few commemorations of anti-fascist partisans.
In Gargnano, on the Lago di Garda, there is a monument to Mario Boldini.
In Firenze, there is a garden named in honour of Silvano Sarti. In fact, the Biblioteca delle Oblate has a small exhibition about the resistance in Firenze: https://memoriediresistenza.comune.fi.it/blog.
After chancing upon a sign from the ‘ANPI’, the ‘National Association of Italian Partisans’ (Associazione Nazionale Partigiani d’Italia), I saw that it maintains a list of resistance fighters.1 As the ANPI acknowledges, this list represents only a ‘drop in the ocean’ (una autentica goccia nel mare): it estimates (easily) upwards of 100,000 men and women were directly involved in the resistance against fascism, so the 3229 names in their current database is only a fraction. (Boldini and Sarti actually are not yet included.) With luck, further historical memory work can add to this catalogue. Nevertheless, even this sample can reveal interesting things about loci of resistance to fascist forces.
I used R to scrape the data from ANPI’s website, wrangle it, and visualise it. The biographical accounts in ANPI’s catalogue offers more variables, so I will probably update this page. For now, the data on where they were born and (typically, if sometimes only initially) active is revealing.
The density map in Figure 1 shows that the (apparent) centre of anti-fascist resistance was in the northwest.
Figure 2 shows the highest number of resistance activists came from the northern regions of Piedmont, Emilia-Romagna, and Lombardy.
<- fullANPI_long %>% subset(Country=="Italy")
fullANPI_long_IT
<- fullANPI_long_IT %>%
df.grouped group_by(Place) %>%
summarise(COUNT=n())
$TOT <- sum(df.grouped$COUNT)
df.grouped$PROP <- df.grouped$COUNT / df.grouped$TOT
df.grouped$PERCENT <- df.grouped$PROP*100
df.grouped
= ne_states(country = "italy", returnclass = "sf")
IT
<- IT %>% dplyr::select(province = name, region, geometry)
IT
<- IT %>% group_by(region) %>% summarise(n = n())
IT_REGION
<- IT_REGION %>%
mappedANPI_it left_join(df.grouped, # df.sf
by = c("region" = "Place"))
is.na(mappedANPI_it)] <- 0
mappedANPI_it[
<- ggplot(mappedANPI_it) +
italy_ANPI_region geom_sf(aes(fill = COUNT))+
geom_sf_text(aes(label=COUNT), colour="red")+
# geom_sf_text(aes(label = scales::percent(PROP)))+
scale_fill_gradient("Number of resistance activists", low = "white", high = "gray20")+
theme_void()+ # theme(legend.position = "none")+
labs(title="")+theme(plot.title = element_text(hjust = 0.5))
italy_ANPI_region
Zooming in, Figure 3 shows particularly dense clusters in the provinces of Torino, Milano, Bologna, and Roma. Unsurprisingly, the largest numbers come from the largest population centres. Today, these areas continue to be represent a more leftist political orientation—even compared to other Italian cities. Along with Firenze, they were the provinces won by the Left coalition in the 2022 Italian election.
<- fullANPI %>% subset(COB=="Italy")
fullANPI_pob
<- fullANPI_pob %>%
df.grouped group_by(ProvinceOfBirth) %>%
summarise(COUNT=n())
$TOT <- sum(df.grouped$COUNT)
df.grouped$PROP <- df.grouped$COUNT / df.grouped$TOT
df.grouped$PERCENT <- df.grouped$PROP*100
df.grouped
= ne_states(country = "italy", returnclass = "sf")
IT
<- IT %>% dplyr::select(province = name, region, geometry)
IT
<- IT %>%
mappedANPI_it left_join(df.grouped, # df.sf
by = c("province" = "ProvinceOfBirth"))
is.na(mappedANPI_it)] <- 0
mappedANPI_it[
<- ggplot(mappedANPI_it) +
italy_ANPI_region geom_sf(aes(fill = COUNT))+
geom_sf_text(aes(label=COUNT), colour="red", size=3)+
# geom_sf_text(aes(label = scales::percent(PROP)))+
scale_fill_gradient("Number of resisters", low = "white", high = "gray20")+
theme_void()+ # theme(legend.position = "none")+
labs(title="")+theme(plot.title = element_text(hjust = 0.5))
italy_ANPI_region
Sebastian Van Baalen has a nice map visualisation in his recent APSR article, which adapted slightly shows again the clusters of resistance activists from different birthplaces, in Figure 4.
Sebastian Hellmeier has a nice map visualisation in his 2022 article, so for just a bit of mapping fun, we can make a similar map with the ANPI data in Figure 5.
As mentioned above, I plan to continue working on this data, as time allows. In the meantime, the messy interactive map in Figure 6. plots the birthplaces of the ANPI-listed resistance activists (slightly jittered in a seemingly futile attempt to increase visibility).
<- fullANPI %>% drop_na(long)
fullANPI_trim <- as.data.frame(fullANPI_trim)
fullANPI_trim
$latJIT <- jitter(fullANPI_trim$lat, factor = 50)
fullANPI_trim$longJIT <- jitter(fullANPI_trim$long, factor = 50)
fullANPI_trim
<- fullANPI_trim %>%
fullANPI_trim_sf_JIT st_as_sf(
coords = c("longJIT", "latJIT"),
crs = st_crs("EPSG:6875") # CRS
)
st_crs(fullANPI_trim_sf_JIT) <- st_crs(it)
mapview(fullANPI_trim_sf_JIT, col.regions = "maroon", label = "Name",
legend = T, layer.name = 'ANPI resistance activists',
map.types = c("CartoDB.Positron","CartoDB.DarkMatter"),
popup = popupTable(fullANPI_trim_sf_JIT,
zcol = c("units","Birthplace","COB","Summary")))