数据框的马赛克图

时间:2013-06-28 16:28:53

标签: r

我有一个看起来像这样的数据集(名为group2)

        ticks var1   var2
11 2010-09-19    0     2
12 2010-09-20    1     4
16 2010-09-24    0     1
17 2010-09-26    1     1
18 2010-09-27    0     1
27 2010-10-06    0     1
29 2010-10-08    0     1
30 2010-10-10    1     1
31 2010-10-12    2     2
38 2010-10-19    0     2
39 2010-10-20    0     2
41 2010-10-22    0     2
42 2010-10-23    1     5
43 2010-10-24    2     3
44 2010-10-25    1     2
68 2010-11-19    3     4
83 2010-12-04    1     1

我想创建一个马赛克图,使得日期位于x轴上,类别(var1,var2)位于垂直条上。 我用了mosaicplot(group2[,2:3], col = c(7, 5), las = 3)。但图像的上半部分看起来并不正确。 enter image description here

我还希望日期显示在顶部(垂直)。 谢谢!

1 个答案:

答案 0 :(得分:0)

mosaicplot需要一个表(或矩阵)作为第一个参数。在这里,您可以找到适合您的设置的解决方法

## Fake data set up
group2 <- data.frame(
    "ticks" = as.Date(c("2010-09-19","2010-09-20","2010-09-24")),
    "var1" =  c(0,1,0),
    "var2" = c(2,4,1))

## matrix creation
my.tab <- as.matrix(group2[,2:3])
rownames(my.tab) <- as.character(group2$ticks)
colnames(my.tab) <- c("var1","var2")

## plotting
mosaicplot(my.tab,
           col = c(7, 5),
           las = 3,
           main = "Mosaic plot")

更多列应该比这个快速图像更好:

mosaic_plot_image

您也可以考虑las=2(更具可读性)。