Автоматическая настройка полей в горизонтальной гистограмме

Мне нужно создать ряд горизонтальных сгруппированных гистограмм. Функция гистограммы не регулирует поля графика автоматически, поэтому текст обрезается.

  graphics.off()      # close graphics windows
   test <- matrix(c(55,65,30, 40,70,55,75,6,49,45,34,20), 
                  nrow =3, 
               ncol=4, 
               byrow=TRUE,
               dimnames = list(c("Subgroup 1", "Subgroup 2", "Subgroup 3"),
                               c(
                                 "Category 1 Long text",
                                 "Category 2 very Long text",
                                 "Category 3 short text",
                                 "Category 4 very short text"
                                 )))
  barplot(test, 
       las=2,
       beside = TRUE,
       legend=T,
       horiz=T)

enter image description here

Я не могу найти опцию для автоматического перемещения графика дальше вправо, как это делает функция R dotchart((Процедура гистограммы в SAS также автоматически регулирует поля ). Очевидно, что я всегда могу отрегулировать поля вручную, используя функцию par.

  par(mar=c(5.1, 13,4.1,2.1))

сдвинет график вправо

enter image description here

Есть ли возможность сдвинуть график вправо (, т.е. настроить поля )автоматически в зависимости от длины текста?

Я могу придумать 2 связанных подхода, чтобы сделать это программно :1 )Вычислите длину самой длинной текстовой строки и соответствующим образом отрегулируйте левое поле. 2 )Создайте точечный график для данных, каким-либо образом зафиксируйте поля и используйте те же поля в гистограмме.

Есть ли более простой способ сделать это? Спасибо!

11
задан thelatemail 8 May 2012 в 03:36
поделиться