मुझे एक डेटाबेस मिला है जिसमें भाषाएं, उनके अनुदैर्ध्य और अक्षांश और एक विशेषता मान (या तो श्रेणी 1, श्रेणी 2 या दोनों - इस भूखंड में क्रमशः लाल, नीले और हरे रंग के रूप में चिह्नित हैं)। प्रति भाषा में तीन अंक हो सकते हैं और स्वाभाविक रूप से दो भाषा अंक एक दूसरे के बहुत करीब हो सकते हैं।
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
...
मैं आर पैकेज ggplot2 का उपयोग कर रहा हूं (यह वह है जिससे मैं सबसे अधिक परिचित हूं, इसलिए मैं इसका उपयोग करते हुए खुश रहूंगा - लेकिन अन्य समाधान भी स्वागत योग्य हैं)। यहां पिछले प्रयास से एक फसल है (कोड: नीचे देखें 1 ):
हर बिंदु के लिए, मैं (खुरदरा) स्थिति - और साथ ही मान - अभी भी दिखाई देना चाहूंगा। (यदि किसी एकल भाषा के लिए कई बिंदु हैं, तो वे संयुक्त हो सकते हैं।)
क्या कोई रास्ता है ...
- ... बिंदुओं को साइड में स्थानांतरित करने के लिए बस इतना है कि वहाँ कोई overplotting नहीं है (कम बेतरतीब ढंग से, कहते हैं, geom_jitter का उपयोग करके - उदाहरण के लिए beeswarm पैकेज में उस तरह का चकमा दे रहा है )?
- ... और / या किसी तरह की "लाइन" एक बिंदु की मूल स्थिति की ओर इशारा करते हुए अगर इसे स्थानांतरित करना था?
- ... या इस तरह से पास-पास के बिंदुओं को संयोजित करने के लिए कि वे अभी भी स्पष्ट हैं (वहाँ शायद एक काम करने की तकनीक है जो बिनिंग का उपयोग करता है, अर्थात स्टेटिन / * या इसी तरह के प्रभाव के साथ कुछ)?
... या उन वेबसाइटों पर देखी गई "इंटरएक्टिव प्लॉट" बनाने के लिए जिन्हें अभी भी एक पीडीएफ में शामिल किया जा सकता है (मैं एनीमेशन और चमकदार जैसे पैकेज की क्षमताओं के बारे में भी सोच रहा हूं )? उदाहरण के लिए, यह wals.info पर इस तरह दिखता है :
यहाँ एक पिछली पोस्ट से, मुझे पता है कि डायरेक्टलैबल्स पैकेज लेबल को स्थानांतरित कर सकता है, लेकिन मुझे इस तरह से अंकों को स्थानांतरित करने का कोई तरीका नहीं मिला है।
स्पष्टीकरण के लिए पूछने के लिए स्वतंत्र महसूस करें!
नोट: मुझे पता है कि ओवरप्लोटिंग पर कई सवाल उठे हैं, लेकिन जिन लोगों पर मैंने गौर किया है, उनका एक अलग (यानी स्टैटिस्टिस्टिक) उद्देश्य है (मैं यह सब पढ़ने का दावा नहीं करता , इसलिए मैं ' डी के रूप में अच्छी तरह से एक लिंक स्वीकार करने के लिए खुश हो)। मैं उन पोस्ट्स को सूचीबद्ध करने की कोशिश करूंगा जो मुझे पता है और जो अच्छी तरह से प्रासंगिक हो सकती हैं (- मैंने जो पढ़ा है, इनमें से कोई भी मेरे प्रश्न का सटीक उत्तर नहीं देता है)।
- आँकड़े।: मैं एक आर प्लॉट में ओवरलैपिंग लेबल से कैसे बचूँ?
- SO: डायनामिक डेटा पॉइंट लेबल पोजिशनिंग इन ggmap
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