언어, 경도 및 위도 및 기능 값 (카테고리 1, 카테고리 2 또는 둘 다-플롯에서 각각 빨강, 파랑 및 녹색으로 표시됨)이 포함 된 데이터베이스가 있습니다. 언어 당 최대 3 개의 지점이있을 수 있으며 자연스럽게 두 개의 언어 지점이 서로 매우 가까이있을 수 있습니다.
name longitude latitude sp_sum
1 Modern Armenian 45 40 both
2 Modern Armenian 45 40 both
3 Modern Armenian 45 40 spatial
4 Dieri 138 -28.1667 both
5 Dieri 138 -28.1667 both
6 Finnish 25.5577 64.7628 non-spatial
7 Crimean Tatar 28.1418 43.8398 spatial
8 Ese Ejja -67.515 -11.7268 non-spatial
9 Makhuwa 38.8052 -14.8509 non-spatial
...
나는 R 패키지 ggplot2를 사용하고 있습니다 (가장 익숙한 것이므로 계속 사용하게되어 기쁘지만 다른 솔루션도 환영합니다). 다음은 이전 시도에서 얻은 작물입니다 (코드 : 1 참조 ).
모든 시점에서 나는 (거칠게) 위치뿐만 아니라 가치가 여전히 보이기를 원합니다. (단일 언어에 대해 여러 포인트가있는 경우 결합 될 수 있습니다.)
방법이 있습니까?
- ... 오버 플로팅이 없도록 포인트를 측면으로 충분히 옮기는 것 (geom_jitter를 사용하는 것보다 무작위로 적음- 예를 들어 beeswarm 패키지 에는 많은 종류의 회피 가 있습니다 )?
- ... 그리고 / 또는 포인트를 이동해야 할 경우 원래 위치를 가리키는 일종의 "라인"이 있어야합니까?
- ... 또는 근접 지점을 여전히 명확한 방식으로 결합하려면 (비닝을 사용하는 작동 기술이있을 수 있습니다 (예 : stat_bin * 또는 유사한 효과가있는 것))?
... 나 아직 PDF 파일에 포함 할 수있는 웹 사이트에서 본 것과 같은 "대화 형 플롯"을 만들기 위해 (내가 좋아하는 패키지의 능력에 대해도 생각하고 애니메이션 과 반짝 여기에)? 예를 들어, wals.info 에서 다음과 같습니다 .
이전 게시물에서 directlabels 패키지가 레이블을 이동할 수 있다는 것을 알고 있지만 포인트를 이동시키는 방법을 찾지 못했습니다.
설명을 요청하십시오.
참고 : 과도 플로팅에 대해 여러 가지 질문이 있다는 것을 알고 있지만 모두 살펴본 내용은 다른 (예 : 통계적) 목적을 가진 것으로 보입니다 ( 모두 읽지 않았다고 주장 하므로 d) 물론 링크를 받아도 기쁘다). 나는 내가 알고 있고 관련성이 높은 게시물을 나열하려고 노력할 것입니다.
1 다음 코드 줄은 위에서 자르기를 만들었습니다.
library(OpenStreetMap)
library(ggplot2)
data <- read.csv(header = T, sep = ",", dec = ".", quote= "'",
text = "'','name','longitude','latitude','sp_sum'
'1','Modern Armenian',45,40,'both'
'2','Modern Armenian',45,40,'both'
'3','Modern Armenian',45,40,'spatial'
'4','Dieri',138,-28.1667,'both'
'5','Dieri',138,-28.1667,'both'
'6','Finnish',25.5577,64.7628,'non-spatial'
'7','Crimean Tatar',28.1418,43.8398,'spatial'
'8','Sochiapam Chinantec',-96.6079,17.7985,'non-spatial'
'9','Ese Ejja',-67.515,-11.7268,'non-spatial'
'10','Makhuwa',38.8052,-14.8509,'non-spatial'
'11','Mualang',111.077,0.31083,'non-spatial'
'12','Martuthunira',116.607,-20.9294,'non-spatial'
'13','Evenki',108.626,53.85,'both'
'14','Afrikaans',30,-22,'both'
'15','Male (Ethiopia)',36.9892,5.91975,'both'
'16','Manchu',126.557,47.3122,'both'
'17','Dime',36.3329,6.20951,'non-spatial'
'18','Koorete',37.8679,5.80545,'non-spatial'
'19','Wolaytta',37.7537,6.32668,'both'
'20','Dizin',35.5763,6.1405,'both'")
map <- openproj(openmap(c(85, -179.9), c(-60, 179.9), zoom = 2, type = "nps"))
plot <- autoplot(map) +
geom_point(data = data, aes(x = longitude, y = latitude),
color = "white", alpha = 0.8, size = 8) +
geom_point(data = data, aes(x = longitude, y = latitude, color = sp_sum),
alpha = 0.3, size = 4)
plot