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)
Заранее спасибо!
РЕДАКТИРОВАТЬ : задача : попробуйте labcurve {Hmisc} .