Возможно, вам будет проще проанализировать ваш график, если вы будете более разборчивы в том, что именно вы действительно хотите построить и обозначить.
Например, одна из стратегий маркировки графиков с множеством наблюдений заключается в маркировке только выбросов. Вот пример того, как вы можете пометить только самые высокие и самые низкие оценки в ваших данных.
Создайте пример данных и график.
set.seed(1)
n <- 100
nba <- data.frame(
obs = 1:n,
Name = paste("label", 1:n, sep="_"),
UP = sample(0:15, n, replace=TRUE),
Downs = sample(-15:0, n, replace=TRUE)
)
plot(nba$obs, nba$UP, type="b", lwd=1, ylim=c(-22, 22), col="red",
xlab="Name", ylab="Change", main="My plot")
Найдите 10 самых высоких и самых низких значений и используйте text
, чтобы добавить метку:
nups <- 10
ups <- tail(nba[order(nba$UP), ], nups)
with(ups, text(obs, UP+1, Name, srt=90, adj=0, cex=0.75))
ndowns <- 10
downs <- head(nba[order(nba$UP), ], nups)
with(downs, text(obs, UP-1, Name, srt=90, adj=1, cex=0.75))