1) Существует ли какая-либо библиотека / функция R, которая бы осуществляла размещение меток ИНТЕЛЛЕКТУАЛЬНО в графике 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)
Заранее спасибо!
РЕДАКТИРОВАТЬ: todo: попробуйте labcurve {Hmisc} .