1) क्या कोई R लाइब्रेरी / फ़ंक्शन है जो R प्लॉट में INTELLIGENT लेबल प्लेसमेंट को लागू करेगा? मैंने कुछ कोशिश की लेकिन वे सभी समस्याग्रस्त हैं - कई लेबल या तो एक दूसरे या अन्य बिंदुओं (या भूखंड में अन्य वस्तुओं) पर ओवरलैपिंग कर रहे हैं, लेकिन मुझे लगता है कि यह संभालना बहुत कठिन है)।
2) यदि नहीं, तो क्या कोई तरीका है कि विशेष रूप से समस्याग्रस्त बिंदुओं के लिए लेबल प्लेसमेंट के साथ एल्गोरिदम को COMFORTABLY कैसे मदद करें? सबसे आरामदायक और कुशल समाधान चाहता था।
आप मेरे प्रजनन उदाहरण के साथ अन्य संभावनाओं को खेल सकते हैं और उनका परीक्षण कर सकते हैं और देख सकते हैं कि क्या आप मेरे मुकाबले बेहतर परिणाम प्राप्त करने में सक्षम हैं:
# data
x = c(0.8846, 1.1554, 0.9317, 0.9703, 0.9053, 0.9454, 1.0146, 0.9012,
0.9055, 1.3307)
y = c(0.9828, 1.0329, 0.931, 1.3794, 0.9273, 0.9605, 1.0259, 0.9542,
0.9717, 0.9357)
ShortSci = c("MotAlb", "PruMod", "EriRub", "LusMeg", "PhoOch", "PhoPho",
"SaxRub", "TurMer", "TurPil", "TurPhi")
# basic plot
plot(x, y, asp=1)
abline(h = 1, col = "green")
abline(v = 1, col = "green")
लेबलिंग के लिए, मैंने तब इन संभावनाओं की कोशिश की, कोई भी वास्तव में अच्छा नहीं है:
1) यह एक भयानक है:
text(x, y, labels = ShortSci, cex= 0.7, offset = 10)
2) यह एक अच्छा है यदि आप सभी बिंदुओं के लिए लेबल नहीं लगाना चाहते हैं, लेकिन सिर्फ बाहरी लोगों के लिए, लेकिन फिर भी, लेबल अक्सर गलत होते हैं:
identify(x, y, labels = ShortSci, cex = 0.7)
3) यह एक आशाजनक लग रहा था लेकिन अंकों के बहुत करीब होने की समस्या है; मुझे उन्हें रिक्त स्थान के साथ पैड करना पड़ा लेकिन इससे बहुत मदद नहीं मिली:
require(maptools)
pointLabel(x, y, labels = paste(" ", ShortSci, " ", sep=""), cex=0.7)
4)
require(plotrix)
thigmophobe.labels(x, y, labels = ShortSci, cex=0.7, offset=0.5)
5)
require(calibrate)
textxy(x, y, labs=ShortSci, cx=0.7)
आपका अग्रिम में ही बहुत धन्यवाद!
EDIT: टूडू: labcurve {Hmisc} कोशिश करें ।
install.packages("FField")
library(FField)
FFieldPtRepDemo()