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 градусов (вы можете просто скопировать и вставить)