Чтобы сделать то, о чем спрашивает вопрос, оставьте возвращаемое значение barplot
и используйте его в качестве y
координат меток.Возвращаемое значение:
Числовой вектор (или матрица, когда он = TRUE), скажем, mp, дающий координаты всех нарисованных средних точек бара, полезный для добавления на график.
Координаты x
представляют собой отложенные значения с откорректированной позицией pos = 4
.
В следующем коде я также сохраняю возвращаемое значение вызова на par
.Это хорошая привычка общего назначения.По завершении печати сбросьте настройки по умолчанию.
op <- par(mar=c(0, 5, 0, 2.1))
bp <- barplot(H, col =c("slategray1", "slategray1","slategray1",
"slategray1", "steelblue3"),
horiz = TRUE,
family = "Arial", border = NA, names.arg = M,
xlim = range(0,100), ylim = range(0, 0.08),
axes = FALSE, width = 0.01, las=1, xaxt='n')
text(H, bp, labels = H/sum(H), pos = 4)
par(op)

Примечание:
ХотяЯ не изменил его, нахожу
xlim = c(0, 30), ylim = c(0, 0.08),
более естественным.
- Используется
c
, а не range
. xlim
значения согласуются с range(H)
.