Подтвердить что ты не робот

Как отобразить все метки x в R barplot?

Это основной вопрос, но я не могу найти ответ. Я генерирую около 9 бар в одной панели, и каждый барплот имеет около 12 баров. Я предоставляю все 12 ярлыков на своем входе, но R называет только альтернативные бары. Это, очевидно, связано с некоторыми настройками по умолчанию в R, которые необходимо изменить, но я не могу их найти.

4b9b3361

Ответ 1

Возможно, вы сможете получить все ярлыки, если вы используете las=2 внутри вызова plot(). В противном случае вам нужно будет использовать xaxt="n", а затем поместить ярлыки с помощью отдельного вызова axis(1, at= ..., labels=...).

Другой метод - сначала собрать средние точки, а затем использовать text() с xpd и srt для управления степенью поворота текста:

text(x=midpts, y=-2, names(DD), cex=0.8, srt=45, xpd=TRUE)

Значение y должно выбираться с использованием координат в построенной области.

Ответ 2

Чтобы получить повернутые метки на базовом R barplot, вы можете (например, я здесь) адаптировать один из примеры, приведенные в виньетке пакета gridBase:

library(grid)
library(gridBase)

## Make some data with names long enough that barplot won't print them all
DD <- table(rpois(100, lambda=5))
names(DD) <- paste("long", names(DD), sep="_")

## Plot, but suppress the labels
midpts <- barplot(DD, col=rainbow(20), names.arg="")

## Use grid to add the labels    
vps <- baseViewports()
pushViewport(vps$inner, vps$figure, vps$plot)

grid.text(names(DD),
    x = unit(midpts, "native"), y=unit(-1, "lines"),
    just="right", rot=50)

popViewport(3)

enter image description here