我试图用vcd
包制作马赛克图,我很难理解如何配置图的某些设置。
library(vcd)
library(RColorBrewer)
mydf <- structure(list(A=structure(c(7L,6L,7L,6L,7L,1L,5L,4L,7L,6L,6L,6L,6L,6L,
3L,6L,6L,6L,5L,3L),
.Label=c("a","b","c","d","e","f","g","h","i"),
class="factor"),
B=structure(c(3L,2L,1L,1L,3L,3L,3L,3L,2L,3L,3L,1L,3L,
3L,3L,3L,3L,3L,3L,3L),
.Label=c("a","b","c"),
class="factor")),
.Names=c("A","B"),
row.names=c(1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L,
10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L, 19L, 20L),
class="data.frame")
mosaic( ~ A + B, data=mydf, highlighting="A",
highlighting_fill=brewer.pal(9, "Set3"))
A变量的不同级别的图例位于图的顶部,这不是有用的,因为变量B的类别&#34; a&#34;不具有所有这些级别。我希望图例在底部与图例中包含所有级别的类别一起使用。
答案 0 :(得分:3)
从?标签我了解到有几个“幕后”功能接受马赛克的参数并尝试了一些改变:
?labeling
我相信这更接近你所希望的:
mosaic( ~ A + B, data=mydf, highlighting="A",
highlighting_fill=brewer.pal(9, "Set3"),
labeling_args=list(tl_labels =c(TRUE, FALSE) ) )
将行标签设置为底部,并使用较低的单元格位置进行放置。 (仍然有'h'和'i'的重叠,但它们甚至可以被重新调整,而你之前有a-e的重叠。)