сломать метки осей в R (используя функцию sjp.frq)

Я делаю несколько графиков частоты, используя функцию sjp.frq, но метки осей слишком большие, и я хотел бы разбить их на две строки. graphпоказывает, что метки осей расположены одна над другой. Как мне это изменить?

Спасибо за помощь!

library(sjPlot)
library(sjmisc)

set_theme(base = theme_classic(),  axis.title.size = 0,  geom.label.size = 4.5, 
                  axis.textsize.x = 1.1, axis.textsize.y = 1.1 )

sjp.frq(base$x, type = c("bar"), sort.frq = c("desc"), geom.colors = "grey")

person Antônio Fernandes    schedule 21.05.2018    source источник


Ответы (2)


Хотя примеры данных не приведены, вот два исправления, которые могут работать.

library(sjPlot)
library(sjmisc)

set_theme(base = theme_classic(),  axis.title.size = 0,  geom.label.size = 4.5, 
                  axis.textsize.x = 1.1, axis.textsize.y = 1.1 )

sjp.frq(base$x, type = c("bar"), sort.frq = c("desc"), geom.colors = "grey",coord.flip =TRUE) #Flip the corrdinate and check if that avoids the overlap.

Если вышеуказанное не работает, попробуйте установить аргумент axis.angle.x следующим образом.

library(sjPlot)
library(sjmisc)

set_theme(base = theme_classic(),  axis.title.size = 0,  geom.label.size = 4.5, 
                  axis.textsize.x = 1.1, axis.textsize.y = 1.1,axis.angle.x = 45 )#this should slant the text to avoid the overlap

sjp.frq(base$x, type = c("bar"), sort.frq = c("desc"), geom.colors = "grey")
person Sebastian Hoyos    schedule 21.05.2018

Кроме того, если вы хотите заключить длинные метки в большее количество строк, вы можете использовать аргумент wrap.labels:

sjp.frq(base$x, wrap.labels = 10)

Или вы меняете угол меток оси. sjp.frq() возвращает объект data и plot, поэтому вы можете легко добавить слои ggplot или добавить функцию, например label_angle():

sjp.frq(efc$e42dep)$plot + label_angle(90)
person Daniel    schedule 30.05.2018