Названия с центром в ggplot на карте

Я пытаюсь использовать ggplot2 и карты, чтобы нанести названия округов в штате Нью-Йорк. подход заключался в том, чтобы найти средние значения широты и долготы по округам (я предполагаю, что это центр округа, но это может быть ошибочным мышлением), а затем использовать geom_text для нанесения имен на карту. Он ведет себя не так, как я ожидал, поскольку он рисует несколько имен на округ.

Результат, который я ищу, заключается в том, что центр каждого текста (округ) находится в центре соответствующего округа.

В дополнение к решению проблемы, я был бы признателен за помощь в понимании Что не так с моим мнением о ggplot.

Заранее благодарю.

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
cnames <- aggregate(cbind(long, lat) ~ subregion, data=ny, FUN=mean)

p <- ggplot(ny, aes(long, lat, group=group)) +  geom_polygon(colour='black', fill=NA) 
p #p of course plots as expected

#now add some county names (3 wrong attempts)
p + geom_text(aes(long, lat, data = cnames, label = subregion, size=.5)) #not correct

#I said maybe I'm confusing it with the same names for different data sets
names(cnames) <-c('sr', 'Lo', 'La')
p + geom_text(Lo, La, data = cnames, label = sr, aes(size=.5)) #attempt 2
p + geom_text(aes(Lo, La, data = cnames, label = sr, size=.5)) #attempt 3
15
задан Tyler Rinker 25 February 2012 в 05:06
поделиться