我用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)))
答案 0 :(得分:7)
?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")))
答案 1 :(得分:0)
试试这个:
+ theme(axis.text.x=element_text(angle=-25, hjust= .1))
它会将标签旋转25度(您可以只复制并粘贴)