2015-11-30 4 views
0

Я пытаюсь построить логическую матрицу, похожую на вопрос here, разница в том, что я пытаюсь это сделать, используя ggvis, чтобы я мог использовать инструмент зависания (данные имеют несколько тысяч строки, поэтому я хотел бы видеть имена строк и столбцов, когда я наводил на него курсор). Следующий код работал для меня с ggplot2.График GGVIS для логической матрицы

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) 

ответ

0

Вы можете найти пример для 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) 

enter image description here