从马赛克图中删除类别名称并添加图例

时间:2016-01-22 07:23:22

标签: r plot visualization data-visualization mosaic-plot

我有这张列联表:

> ftable(mytable) # print table
                Sex     female male
Pclass Survived                    
1      No             0      5  118
       Si             0    139   61
2      No             0     12  146
       Si             0     94   25
3      No             0    110  418
       Si             0    106   75

然后,我使用R的基础包制作马赛克图。代码和图形如下:

mosaicplot(mytable, color=c("#fb8072", "#8dd3c7"), cex.axis=1.2)

enter image description here

现在我想从x轴上消除女性和男性的名字,并将这些名称作为传说,以便指定粉红色为女性,浅蓝色为男性。我怎么能这样做?

编辑1:

" mytable"的输出是:

mytable <- structure(c(0, 5, 118, 0, 139, 61, 0, 12, 146, 0, 94, 25, 0, 
110, 418, 0, 106, 75), .Dim = c(3L, 2L, 3L), .Dimnames = structure(list(
    Sex = c("", "female", "male"), Survived = c("No", "Si"), 
    Pclass = c("1", "2", "3")), .Names = c("Sex", "Survived", 
"Pclass")), class = c("xtabs", "table"))

编辑2:

在绘制马赛克的代码之前,我必须删除图表中的类别名称,并使用以下代码从列联表中删除名称:

dimnames(mytable)[["Sex"]] = rep(NA,3)

现在,唯一没有解决的问题就是添加一个图例。

0 个答案:

没有答案