Мне нужно создать ряд горизонтальных сгруппированных гистограмм. Функция гистограммы не регулирует поля графика автоматически, поэтому текст обрезается.
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)
Я не могу найти опцию для автоматического перемещения графика дальше вправо, как это делает функция R dotchart((Процедура гистограммы в SAS также автоматически регулирует поля ). Очевидно, что я всегда могу отрегулировать поля вручную, используя функцию par.
par(mar=c(5.1, 13,4.1,2.1))
сдвинет график вправо
Есть ли возможность сдвинуть график вправо (, т.е. настроить поля )автоматически в зависимости от длины текста?
Я могу придумать 2 связанных подхода, чтобы сделать это программно :1 )Вычислите длину самой длинной текстовой строки и соответствующим образом отрегулируйте левое поле. 2 )Создайте точечный график для данных, каким-либо образом зафиксируйте поля и используйте те же поля в гистограмме.
Есть ли более простой способ сделать это? Спасибо!