1) Esiste una libreria / funzione R che implementa il posizionamento INTELLIGENTE dell'etichetta nel grafico R? Ne ho provate alcune ma sono tutte problematiche: molte etichette si sovrappongono tra loro o su altri punti (o altri oggetti nella trama, ma vedo che questo è molto più difficile da gestire).
2) In caso negativo, c'è un modo per aiutare COMODAMENTE l'algoritmo con il posizionamento dell'etichetta per punti problematici particolari? Si cerca la soluzione più comoda ed efficiente.
Puoi giocare e testare altre possibilità con il mio esempio riproducibile e vedere se sei in grado di ottenere risultati migliori di quelli che ho io:
# 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")
Per l'etichettatura ho quindi provato queste possibilità, nessuno è veramente bravo:
1) questo è terribile:
text(x, y, labels = ShortSci, cex= 0.7, offset = 10)
2) questo è buono se non vuoi posizionare etichette per tutti i punti, ma solo per i valori anomali, ma comunque, le etichette sono spesso posizionate in modo sbagliato:
identify(x, y, labels = ShortSci, cex = 0.7)
3) questo sembrava promettente ma c'è il problema che le etichette siano troppo vicine ai punti; Ho dovuto riempirli di spazi ma questo non aiuta molto:
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)
Grazie in anticipo!
EDIT: todo: prova labcurve {Hmisc} .
install.packages("FField")
library(FField)
FFieldPtRepDemo()