Dựa trên (! Thanks) liên kết AdresT cung cấp ở trên tôi có thể trả lời câu hỏi của riêng tôi trừ, dòng thinkness tỷ lệ thuận với số lượng email
Đây là mã: Tôi sử dụng dữ liệu ngẫu nhiên mà không cần tìm kiếm kinh độ và vĩ độ chính xác cho từng vị trí.
library(maps)
library(geosphere)
map("world", col = "green4", bg="#F5FFFA", lwd=0.05)
myposition <- c(-74, 40) # my position (where I am opening emails)
rlong <- c(75, 105, 135, - 10.2, 45.2, -30.4, 105, 35, -150,
10.2, 145.2, 30.4) # received lat
rlat <- c(30, 43, 23, 12, 68, 55.6, 30, 43, 23, 12, 68, 55.6) # received long
nrecived <- c(4, 10, 5, 2, 4, 10, 4, 10, 5, 2, 4, 10) # number of email received
slong <- c(85, 85, 55, -40.2, 45.2, -30.4,45, 95, 55, 40.2, 55.2, 60.4) # send lat
slat <- c(10, 43, 13, 12, 68, 55.6,10, 43, 13, 12, 68, 55.6) # send long
nsend <- c(4, 10, 5, 2, 4, 10, 4, 10, 5, 2, 4, 10) # number of email send
mydf <- data.frame (rlat, rlong, nrecived, slat, slong, nsend)
for (i in 1: length (mydf)) {
send <- gcIntermediate(c(mydf[i,]$slong, mydf[i,]$slat), c(-74, 40),
n=100, addStartEnd=TRUE)
lines (send, col = "blue", lwd = mydf[i, "nsend"]) # edited
following suggestion
received <- gcIntermediate(c(mydf[i,]$rlong, mydf[i,]$rlat), c(-74, 40),
n=100, addStartEnd=TRUE)
lines (received , col = "red", lwd = mydf[i, "nrecived"])
}
Sản lượng bản đồ:
Nếu ai đó có thể giúp độ dày của dòng tương ứng với số lượng email sẽ là tuyệt vời!
Sau khi sửa chữa dòng sau kích thước gợi ý từ Roman Luštrik,
Dòng kích thước rộng có thể được cần phải reclass vào số nhỏ hơn!
Nếu bạn thay đổi 'LWD = 1.2' cho 'LWD = mydf [i, "nGửi"]', nó giải quyết vấn đề độ dày đường của bạn? –
có, cảm ơn, tôi đã kết hợp đề xuất – jon
Bạn có thể rescale lwd hiện tại của bạn để một cái gì đó chức năng hơn. Bạn có thể chia cho 0.8 hoặc một cái gì đó cho hiệu ứng đó. –