{"word_count": 819, "character_count": 6734}
Dans un billet précédent, je proposais une solution pour créer des cartons cartographique en jouant avec les paramètres graphiques des figures.Dans celui-ci j'introduis le package mapinsetr qui permet de créer "en dur" des fond de carte comprenant des cartons.J'utilise les jeux de données, la problématique et une partie du code proposés par Arthur Charpentier dans son post "Cartographier le vote pour le Brexit".Le script complet (import et préparation des données, visualisations) est disponible ici.[MAJ 15-12-2016] Ajout de la source des données [/MAJ]Vote majoritaire au référendum sur le brexitlibrary(cartography)plot(UK, ylim = c(3100000, 4100000), xlim = c(2950000, 3750000),      col = NA, border = NA, bg = "#A6CAE0")plot(IRL, col = "lightgrey", border = NA, add=TRUE)plot(FR, col = "lightgrey", border = NA, add=TRUE)typoLayer(spdf = UK, spdfid = "id",           df = referendum, dfid = "HASC_code",           var = "brexit",           col = c("#5A9C50", "#EC4E49"),           legend.pos = 'topleft',          legend.title.txt = "",           add = TRUE)layoutLayer(title = "Vote majoritaire au référendum sur le brexit",             author = "Données: The Electoral Comission (https://frama.link/ElectoralCommissionUK)",             sources = "Fond de carte: GADM 2.8 (http://gadm.org/)",             theme = "blue.pal", scale = 100)Part du Leave dans le vote au référendumplot(UK, ylim = c(3100000, 4100000), xlim = c(2950000, 3750000),      col = NA, border = NA, bg = "#A6CAE0")plot(IRL, col = "lightgrey", border = NA, add=TRUE)plot(FR, col = "lightgrey", border = NA, add=TRUE)# limites des classesbks &#60;- c(min(referendum$shareLeave),          seq(30,70,10),          max(referendum$shareLeave))# palette de couleurcols &#60;- carto.pal(pal1 = &#34;green.pal&#34;, n1 = 3,                   pal2 = &#34;red.pal&#34;, n2 = 3)choroLayer(spdf = UK, spdfid = &#34;id&#34;,            df = referendum, dfid = &#34;HASC_code&#34;,            var = &#34;shareLeave&#34;, breaks = bks,           col = cols,            legend.pos = &#039;topleft&#039;,           legend.title.txt = &#34;Part du vote &#039;leave&#039;\n (en %)&#34;,            add = TRUE)layoutLayer(title = &#34;Part du &#039;Leave&#039; au référendum sur le brexit&#34;,             author = "Données: The Electoral Comission (https://frama.link/ElectoralCommissionUK)",             sources = "Fond de carte: GADM 2.8 (http://gadm.org/)",             theme = &#34;blue.pal&#34;, scale = 100)Part du Leave rapporté au nombre de suffrages exprimésIl est intéressant de représenter simultanément la part de vote pour le Leave et le nombre total de votes exprimés. Pour cela nous allons combiner une représentation en cercles proportionnels (pour le nombre de votes exprimés) et une colorations de ceux-ci en fonction de la part du vote pour le Leave.plot(UK, ylim = c(3100000, 4100000), xlim = c(2950000, 3750000),      col = "grey50",  border = "grey80",lwd = 0.5, bg = "#A6CAE0")plot(IRL, col = "lightgrey", border = NA, add=TRUE)plot(FR, col = "lightgrey", border = NA, add=TRUE)propSymbolsChoroLayer(spdf = UK, spdfid = "id",                       df = referendum, dfid = "HASC_code",                       var = "nvote",inches = 0.2,                       var2 = 'shareLeave',                      breaks = bks,                      col = cols)layoutLayer(title = "Répartition et part du 'Leave' au référendum sur le brexit",             author = "Données: The Electoral Comission (https://frama.link/ElectoralCommissionUK)",             sources = "Fond de carte: GADM 2.8 (http://gadm.org/)",             theme = "blue.pal", scale = 100)text(x = 3018138, y = 3255515,      font = 2, srt = 33, cex = 1, pos = 4,     labels = "La carte n'est pas lisible\ndans la région de Londres")Ce premier essai n'est pas totalement concluant, il est très difficile de lire la carte dans la région de Londres où les unités sont très petites et où les cercles se superposent.Nous allons donc créer un carton de zoom sur la région de Londres avec le package mapsinsetr.Installation du packageLe package est hébergé sur GitHub seulement pour l'instant.library(devtools)install_github('riatelab/mapinsetr')Création du fond de carte contenant le carton de zoomlibrary(mapinsetr)# définition d'une bounding box autour de la région de Londresbb &#60;- matrix(data = c(3598988, 3648341, 3177688, 3221347),              nrow = 2, ncol = , byrow = T  )# création d&#039;un masque destiné à extraire les unités londonienneslondonMask &#60;- create_mask(bb = bb,                          add = FALSE,                           prj = UK@proj4string)# déplacement et redimensionnement des unitészoomLondon &#60;- move_and_resize(spdf = UK,                               mask = londonMask,                               xy = c(3001055, 3196670),                               k = 4)# déplacement et redimensionnement du masquezoomBox &#60;- move_and_resize(spdf = londonMask,                            mask = londonMask,                            xy = c(3001055, 3196670),                            k = 4)# fusion du fond de carte initial et du zoomUK2 &#60;- inset_rbinder(list(UK, zoomLondon))# affichage du fond de carteplot(UK2)layoutLayer(&#34;Fond de carte UK avec zoom sur Londres&#34;, scale = NULL,             north = FALSE, sources = &#34;&#34;, author = &#34;&#34;)Cartographie avec le nouveau fond de carteplot(FR, ylim = c(3100000, 4100000), xlim = c(2950000, 3750000),      col = 'lightgrey', border = NA, bg = "#A6CAE0")plot(IRL, col = "lightgrey", border = NA, add=TRUE)plot(UK2, col = "grey50", border = "grey80",lwd = 0.5,  add=TRUE)plot(zoomBox, lwd = 1, add=T)text(x = 3001055, y = 3196670, labels = "Zoom sur Londres",      adj = c(0,1.5), cex = 0.7 )propSymbolsChoroLayer(spdf = UK2, spdfid = "id",                       df = referendum, dfid = "HASC_code",                       var = "nvote",inches = 0.2,                       legend.var.title.txt = "Nombre de\nvotes exprimés",                       legend.var.pos = "topleft",                       var2 = 'shareLeave',                      legend.var2.pos = "left",                       legend.var2.values.rnd = 0,                      legend.var2.title.txt = "Part du vote\n'Leave' (en %)",                       breaks = bks,                      col = cols)plot(londonMask, lwd = 1, add=T)layoutLayer(title = "Répartition et part du 'Leave' au référendum sur le brexit",             author = "Données: The Electoral Comission (https://frama.link/ElectoralCommissionUK)",             sources = "Fond de carte: GADM 2.8 (http://gadm.org/)",             theme = "blue.pal", scale = 100)Cette carte est plus satisfaisante, la situation dans la capitale du Royaume-Uni est beaucoup plus lisible.