разметить оси осей в R (используя функцию sjp.frq) - PullRequest
0 голосов
/ 21 мая 2018

Я делаю некоторые частотные графики с использованием функции 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")

Ответы [ 2 ]

0 голосов
/ 30 мая 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)
0 голосов
/ 21 мая 2018

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

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")
...