Sớm tôi đã đăng câu hỏi về cách vẽ tên các quận trên bản đồ bằng ggplot và bản đồ được tìm thấy HERE. Cách tiếp cận đầu tiên của tôi là lấy các phương tiện của tất cả các tọa độ vĩ độ và độ dài trên mỗi hạt như được thấy ở đây: Cải thiện tên trung tâm quận ggplot & bản đồ
Rất may Andrie có 2 đề xuất để cải thiện việc căn giữa bằng cách sử dụng một phạm vi và sau đó là coord_map() { để giữ tỷ lệ khung hình chính xác}. Điều này cho thấy sự tập trung nhiều như được thấy ở đây:
Tôi nghĩ rằng điều này có vẻ tốt hơn nhưng vẫn gặp một số khó khăn với các vấn đề trùng lặp. Tôi hy vọng sẽ tiếp tục cải thiện việc định tâm (Trong cùng một chủ đề đó, Justin đã đề xuất phương pháp tiếp cận km). Tôi ok với văn bản luân phiên nếu cần thiết nhưng tôi hy vọng cho các tên được căn giữa và xoay vòng nếu cần thiết (chúng mở rộng ra ngoài biên giới hạt) để hiển thị tốt nhất tên quận trên bản đồ.
Bất kỳ ý tưởng nào?
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()
Điều này cải thiện định tâm hơn nữa nhưng khi bạn chỉ ra một số điều chỉnh tốt sẽ phải xoắn và quay, kéo và chọc (cũng có thể không chọc nhưng ...). Tôi nghĩ đây là câu trả lời tôi đang tìm kiếm. –
Để biết thêm thông tin về định vị điểm (một hàm định vị cho ggplot), hãy xem [HERE] (http://stackoverflow.com/questions/9450873/locator-equivalent-in-ggplot2-for-maps). Chức năng này từ David Kahle cho phép bạn tạo một khung dữ liệu của các điểm được nhấp để thao tác dễ dàng các nhãn hạt thông qua các phương pháp tôi mô tả ở trên. –