Как автоматизировать метки гистограммы - PullRequest
0 голосов
/ 03 июля 2019

Хотелось бы, чтобы метки данных появлялись в конце каждой полосы, с одним пробелом между меткой и концом полосы.Я хотел бы, чтобы метки были выражены в процентах.Обратите внимание, что график был построен с использованием необработанных чисел, а не процентных значений.Я хотел бы, чтобы решение этой проблемы было в базе R. Ответы на аналогичные предыдущие вопросы не сработали для меня.С раствором в базе Р.

1 Ответ

1 голос
/ 03 июля 2019

Чтобы сделать то, о чем спрашивает вопрос, оставьте возвращаемое значение 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)

enter image description here

Примечание:

ХотяЯ не изменил его, нахожу

xlim = c(0, 30), ylim = c(0, 0.08),

более естественным.

  • Используется c, а не range.
  • xlimзначения согласуются с range(H).
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...