我正在生成一个镶嵌图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)
Run Code Online (Sandbox Code Playgroud)
我也tryed 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)))
Run Code Online (Sandbox Code Playgroud)
和
mosaic(y ~ x, data= a, labeling_list= list(rot_labels = c(0,90,0,0)))
# Actually placed the "90" in the 4 positions …Run Code Online (Sandbox Code Playgroud) 出于某种原因,我无法让 xlab 和 ylab 在 vcd 包中的马赛克图中工作。
我试过:
mosaic(~Sex +Survived,
data=Titanic,
shade=T,
legend=T,
main="myplot",
labeling_args=list(abbreviate = c( Sex=2, Survived=1)) ,
ylab="Gender",
xlab="survival")
Run Code Online (Sandbox Code Playgroud)
这分别标记轴“性别”和“幸存”。
mosaic(margin.table(Titanic, c(2,4)),
ylab="Gender",
xlab="survival",
shade=T, legend=T,
main="myplot",
labeling_args=list(abbreviate = c( Sex=2, Survived=1)))
Run Code Online (Sandbox Code Playgroud)
这也分别标记了“性别”和“幸存”轴。
mosaicplot(margin.table(Titanic, c(2,4)),
shade=T,
legend=T,
main="myplot",
labeling_args=list(abbreviate = c(Sex=2, Survived=1)),
ylab="Gender",
xlab="survival")
Run Code Online (Sandbox Code Playgroud)
这正确地标记了轴,但忽略了“labeling_args”
有没有人有什么建议?