是否可以从vcd包中编辑马赛克图的轴标签?

时间:2016-09-15 20:14:01

标签: r mosaic-plot

data("HairEyeColor")
mosaic(HairEyeColor, shade = TRUE)

Resulting plot

我可以使用参数来更改上面结果图边缘的标签吗?例如,我想改变"男性"到" M","女性"到" F",以避免文本侵占,并在标题标签中做一些注释。

我无法在套餐帮助页面中找到有关编辑轴标签的任何信息。

3 个答案:

答案 0 :(得分:3)

lnames <- list(Sex = c("M", "F"))
mosaic(HairEyeColor, set_labels=lnames, shade=T)

或者...

mosaic(HairEyeColor, set_labels=list(Sex = c("M", "F")), shade=T)

enter image description here

答案 1 :(得分:1)

vcd 软件包具有用于调整标签的复杂系统-请参见Labeling in the Strucplot Framework

标签可以缩写为abbreviate_labs。向量顺序与分割顺序相符:HairEyeSex

vcd::mosaic(HairEyeColor, shade = TRUE, labeling_args = list(abbreviate_labs = c(5, 5, 1)))

mosaic plot

答案 2 :(得分:0)

我要补充一点,如果标签太多,可以增加标签之间的间隔,更改此参数:

spacing = vcd::spacing_conditional(sp = unit(0.3, "lines"), start = unit(2, "lines"), rate = 1.8)

具体来说,您必须更改sp = unit(0.3, "lines")而不是默认值0.3。