r - 数据框马赛克图

标签 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

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

最佳答案

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(更具可读性)。

关于r - 数据框马赛克图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17369434/

相关文章:

r - 将字符串部分提取到 R 中的列

r - 几何段: Removed 1 rows containing missing values

r - 将N列的数据框转换成两个 'stacked'列的数据框

r - 在 R 中使用 lubridate 仅提取日期和月份并保留日期格式

r - 如何取消列出矩阵元素列表并获得矩阵组合作为输出而不是R中的向量

R从字符串中删除最后一个单词

r - ggplot2不知道如何处理 react 类的数据

c++ - 使用 Armadillo 根据行索引和列索引从矩阵中提取元素

r - 使用拟合模型从 Y 值预测 X 值

r - 从R中的文件读取数据帧时如何跳过无效行?