1) Чи є бібліотека / функція R, яка могла б реалізувати розміщення міток INTELLIGENT у R ділянці? Я спробував деякі, але всі вони є проблематичними - багато міток перетинаються або одна з одною, або з іншими точками (або іншими об'єктами на ділянці, але я бачу, що з цим набагато складніше впоратися).
2) Якщо ні, чи є спосіб, як КОМФОРТНО допомогти алгоритму з розміщенням мітки для конкретних проблемних моментів? Найбільш комфортне та ефективне рішення.
Ви можете грати і перевіряти інші можливості на моєму відтворюваному прикладі і бачити, чи зможете ви досягти кращих результатів, ніж у мене:
# 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: todo: спробуйте labcurve {Hmisc} .
install.packages("FField")
library(FField)
FFieldPtRepDemo()