Temprano publiqué una pregunta sobre cómo trazar los nombres de condados en un mapa usando ggplot y mapas encontrados HERE. Mi primer acercamiento fue tomar las medias de todas las coordenadas de latitud y larga por el condado como se ve aquí: Mejorar el centrado de los nombres de los condados ggplot y mapas
Afortunadamente Andrie tenía 2 sugerencias para mejorar el centrado mediante un centro de rangos y luego el coord_map() {que aparece para mantener la relación de aspecto correcta}. Esto implicó el centrado mucho como se ve aquí:
Creo que esto se ve mejor, pero todavía tiene algunas dificultades con los problemas de superposición. Tengo la esperanza de mejorar aún más el centrado (En ese mismo hilo, Justin sugirió un enfoque de kmeans). Estoy de acuerdo con rotar el texto si es necesario pero espero que los nombres queden centrados y rotados si es necesario (se extienden más allá de los límites del condado) para mostrar mejor los nombres de los condados en el mapa.
¿Alguna idea?
library(ggplot2); library(maps)
county_df <- map_data('county') #mappings of counties by state
ny <- subset(county_df, region=="new york") #subset just for NYS
ny$county <- ny$subregion
p <- ggplot(ny, aes(long, lat, group=group)) + geom_polygon(colour='black', fill=NA)
#my first approach to centering
cnames <- aggregate(cbind(long, lat) ~ subregion, data=ny, FUN=mean)
ggplot(ny, aes(long, lat)) +
geom_polygon(aes(group=group), colour='black', fill=NA) +
geom_text(data=cnames, aes(long, lat, label = subregion), size=3)
#Andrie's much improved approach to centering
cnames <- aggregate(cbind(long, lat) ~ subregion, data=ny,
FUN=function(x)mean(range(x)))
ggplot(ny, aes(long, lat)) +
geom_polygon(aes(group=group), colour='black', fill=NA) +
geom_text(data=cnames, aes(long, lat, label = subregion), size=3) +
coord_map()
Esto mejora el centrado aún más, pero como usted señaló, algunos de los ajustes finos tendrán que ser giratorios y giratorios, tirando y metiendo (quizás no asomando pero ...). Creo que esta es la respuesta que estaba buscando. –
Para obtener más información sobre la ubicación de puntos (una función de localización para ggplot), consulte [AQUÍ] (http://stackoverflow.com/questions/9450873/locator-equivalent-in-ggplot2-for-maps). Esta función de David Kahle le permite generar un marco de datos de los puntos seleccionados para facilitar la manipulación de las etiquetas del condado a través de los métodos que describo arriba. –