Tôi đang cố gắng sử dụng ggplot2 và bản đồ để vẽ tên của các hạt ở bang NY. Cách tiếp cận của tôi là tìm các phương tiện vĩ độ và kinh độ theo quận (tôi cho rằng đây là trung tâm của quận nhưng điều này có thể là suy nghĩ sai lầm) và sau đó sử dụng geom_text để vẽ các tên trên bản đồ. Nó không hoạt động như tôi dự đoán vì nó âm mưu nhiều tên cho mỗi hạt.tên trung tâm ggplot trên bản đồ
Kết quả tôi đang tìm kiếm là trung tâm của mỗi văn bản (hạt) là trung tâm của hạt tương ứng của nó.
Ngoài việc giải quyết vấn đề, tôi đánh giá cao việc giúp đỡ để hiểu những gì sai với suy nghĩ của tôi với ggplot.
Cảm ơn bạn trước.
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
Tôi nghĩ bạn đã làm những gì tôi hỏi và hơn thế nữa. Vì vậy, tôi đánh dấu chủ đề này là đã được giải quyết. Cảm ơn bạn. Tôi vẫn không hài lòng với việc đặt tên của các tên và bây giờ nhận ra rằng tôi cần một cách tiếp cận tốt hơn để tập trung. Cách tiếp cận của Justin có vẻ thú vị. Tôi sẽ đăng một câu hỏi khác về một số kỹ thuật định tâm được cải thiện. –
Thậm chí tốt hơn cho điểm giữa là chức năng trung tâm trong gói địa tầng. Đây là những gì tôi đã làm thay vì chức năng tổng hợp trong câu trả lời này: 'cnames <- ddply (ia_pop,.(Quận, nhóm), tóm tắt, Centroid = centroid (cbind (dài, lat))) ' và sau đó tách ra khỏi cột Centroid như sau: ' cnames $ long <- cnames $ Centroid [, 1] ' và 'cnames $ lat <- cnames $ Centroid [, 2]' – Danny