Mục tiêu của tôi là vẽ đường đi của một con sông với các điểm chỉ ra các địa điểm quan trọng gần sông.Overplotting từ các khung dữ liệu khác nhau trong ggplot2
Tôi có hai khung dữ liệu, đưa ra sông và chỗ tọa độ tương ứng:
river<-data.frame(
long=c(-2.816452494909265,-2.845487331898639,-2.883036393822358),
lat=c(56.38229290416972,56.36346886284386,56.36577994637793))
samploc<-data.frame(
site=c("Site1","Site2","Site3"),
long=c(-2.826213585663894,-2.816519300644918,-2.868437228090127),
lat=c(56.3649482229089,56.38166100310631,56.36716019476281))
Sử dụng một âm mưu trường R cũ, với mệnh (mới = T) và bảo tồn xlim và ylim, tôi sẽ nhận được một cái gì đó như này:
old school plot http://users.utu.fi/susjoh/Riverplot.png
Nhưng tôi muốn làm điều đó bằng ggplot2. Con sông và các điểm có thể dễ dàng gọi riêng:
ggplot(river,aes(x=long,y=lat)) + geom_path()
ggplot(samploc,aes(x=long,y=lat,lab=site)) + geom_point() + geom_text(vjust=2)
Tôi đã cố gắng để lừa, bằng cách tạo ra các khung dữ liệu sau đây từ trước đó hai:
> rivsamp
river.long river.lat samp.site samp.long samp.lat
1 -2.816452 56.38229 NA NA NA
2 -2.845487 56.36347 NA NA NA
3 -2.883036 56.36578 NA NA NA
4 NA NA Site1 -2.826214 56.36495
5 NA NA Site2 -2.816519 56.38166
6 NA NA Site3 -2.868437 56.36716
ggplot(rivsamp) +
geom_path(aes(x=river.long,y=river.lat)) +
geom_point(aes(x=samp.long,y=samp.lat)) +
geom_text(aes(x=samp.long,y=samp.lat,lab=samp.site),vjust=2)
ggplot2 plot http://users.utu.fi/susjoh/riverggplot.png
Nó hoạt động, nhưng việc tạo khung dữ liệu mới này không đơn giản như phương thức par cũ (new = T).
Có cách nào đơn giản hơn để ghi đè từ các khung dữ liệu riêng lẻ bằng ggplot2 không?
Cảm ơn!
Tôi sẽ sử dụng các lớp học được thiết kế để xử lý dữ liệu không gian, cụ thể là SpatialPoints và SpatialLines được định nghĩa trong 'gói sp'. –
Bản sao của http://stackoverflow.com/questions/7476022/geom-point-and-geom-line-for-multiple-datasets-on-same-graph-in-ggplot2 – kmm
@Kevin, không phải là bản sao chính xác, nhưng cảm ơn vì đã đăng bài vì nó đã giúp tôi tìm câu trả lời. – susjoh