1) Existe alguma biblioteca / função R que implementaria a colocação INTELIGENTE de rótulo no gráfico R? Tentei alguns, mas todos são problemáticos - muitos rótulos estão se sobrepondo uns aos outros ou a outros pontos (ou outros objetos no gráfico, mas vejo que isso é muito mais difícil de manusear).
2) Se não, há alguma maneira de ajudar CONFORTÁVELMENTE o algoritmo com a colocação de rótulos para pontos problemáticos particulares? A solução mais confortável e eficiente desejada.
Você pode jogar e testar outras possibilidades com meu exemplo reproduzível e ver se consegue obter resultados melhores do que eu:
# 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")
Para rotular, tentei essas possibilidades, ninguém é realmente bom:
1) este é terrível:
text(x, y, labels = ShortSci, cex= 0.7, offset = 10)
2) este é bom se você não quiser colocar rótulos para todos os pontos, mas apenas para os outliers, mas ainda assim, os rótulos costumam ser colocados errados:
identify(x, y, labels = ShortSci, cex = 0.7)
3) este parecia promissor, mas existe o problema dos rótulos estarem muito próximos dos pontos; Tive que preenchê-los com espaços, mas isso não ajuda muito:
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)
Agradeço antecipadamente!
EDIT: todo: tente labcurve {Hmisc} .
install.packages("FField")
library(FField)
FFieldPtRepDemo()