R vcd:: мозаичные перекрывающиеся метки

Я создаю мозаичный сюжет с vcd::mosaic, Но текст факторов, которые мне дали, очень длинный (сокращение их не вариант, и во многих случаях, введение \n кажется пугающим), поэтому в текстах есть совпадение, и я не смог заставить ярлыки идти перпендикулярно оси.

Вот что я пытаюсь:

a <- data.frame(x=sample(LETTERS[1:4],16,replace = TRUE), 
                y=rep(paste("very long label here at number", 1:4, paste=" "), 4))
mosaic(y ~ x, data= a, las= 2)

но вот что я получаю: введите описание изображения здесь

Я также попробовал par(las= 2) а также par(las= 3) но никто из них не способен заставить их в вертикальное положение (las= 2 хорошо работает с mosaicplot, хоть. Это как vcd::mosaic Переопределение las либо как заданный параметр, либо как набор по умолчанию в par, Я также играл с par(mar), но ярлыки достаточно длинные, чтобы обойти этот обходной путь.

Что я могу сделать, чтобы получить читаемые этикетки?

########## РЕДАКТИРОВАТЬ ДОБАВИТЬ: ##########

Я также попробовал это, но безрезультатно:

mosaic(y ~ x, data= a, labeling_list= list(gp_text= gpar(las= 2)))

а также

mosaic(y ~ x, data= a, labeling_list= list(rot_labels = c(0,90,0,0)))
  # Actually placed the "90" in the 4 positions

mosaic(y ~ x, data= a, labeling_list= list(rot_varnames = c(0,90,0,0)))

2 ответа

Решение

Наконец-то нашел! Ключевые документы поиска:

?labelings
?labeling_border

Для того, чтобы повернуть метки

mosaic(y ~ x, 
       data= a, 
       labeling= labeling_border(rot_labels = c(90,0,0,0), 
                                 just_labels = c("left", 
                                                 "center", 
                                                 "center", 
                                                 "center")))

Попробуй это:

+ theme(axis.text.x=element_text(angle=-25, hjust= .1))

он будет поворачивать метки на 25 градусов (вы можете просто скопировать и вставить)

Другие вопросы по тегам