逻辑矩阵的 GGVIS 图

GGVIS plot for logical matrix

我正在尝试绘制一个类似于问题 的逻辑矩阵,不同之处在于我正在尝试使用 ggvis 进行绘制,以便我可以使用悬停工具 (数据有几千行,所以当我将鼠标悬停在它上面时,我想看到 row/column 个名字)。以下代码适用于 ggplot2.

library(reshape2)
library(ggplot2)

melted = melt(matrix)
ggplot(melted, aes(x = Var2, y = Var1)) +
    geom_tile(aes(fill = value)) +
    scale_file_manual(values = c("black", "red")) +
    theme(axis.text.x = element_blank(), axis.text.y = element_blank()) +
    coord_fixed(ratio = 1/10)

layer_rectshere你可以找个例子,我只是做了一些调整。 使用链接问题的示例:

加载数据

mm <- structure(c(TRUE, TRUE, TRUE, FALSE, TRUE, FALSE, TRUE, FALSE, 
                  FALSE, FALSE, TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, TRUE, 
                  FALSE, FALSE, FALSE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, FALSE, 
                  FALSE, FALSE, TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, FALSE, 
                  FALSE, FALSE, TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, FALSE, 
                  FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, TRUE, 
                  TRUE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, TRUE, 
                  TRUE, TRUE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, TRUE, TRUE, 
                  TRUE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, TRUE, 
                  TRUE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, TRUE, 
                  TRUE, TRUE, TRUE), .Dim = c(10L, 10L), .Dimnames = list(NULL, 
                                                                          c("n1", "n2", "n3", "n4", "n5", "n1.1", "n2.1", "n3.1", "n4.1", 
                                                                            "n5.1")))

熔化和改变类型

library(reshape2)
melted <- melt(mm)

melted$value <- as.numeric(melted$value)
melted$Var1 <- as.factor(melted$Var1)

情节

melted %>%
  ggvis(~Var2, ~Var1, fill = ~value) %>%
  layer_rects(width = band(), height = band()) %>%
  scale_nominal("x", padding = 0, points = FALSE) %>%
  scale_nominal("y", padding = 0, points = FALSE)