Je veux tracer la matrice d'adjacence d'un graphique comme un échiquier (noir pour les 1, blanc pour les 0, ou vice versa).
[,1] [,2] [,3] [,4] [,5]
[1,] 0 0 0 0 0
[2,] 1 0 0 0 0
[3,] 1 0 0 0 0
[4,] 1 0 0 0 0
[5,] 1 0 0 0 0
En utilisant le code suivant :
require(igraph)
require(ggplot2)
require(reshape2)
g <- make_star(5)
gAdjMatrix <- as.matrix(as_adj(g))
print(gAdjMatrix)
logMatrix <- (gAdjMatrix == 1)
logMatrix
mm <- logMatrix
mm %>%
melt() %>%
ggplot(aes(Var2, Var1)) +
geom_tile(aes(fill = value,
color = value)) +
coord_equal() +
scale_fill_manual(values = c("black", "white")) +
scale_color_manual(values = c("white", "black")) +
theme_bw() +
theme(axis.title = element_blank(),
axis.text = element_blank(),
axis.ticks = element_blank(),
panel.grid = element_blank()) +
guides(fill = FALSE, color = FALSE) +
scale_x_discrete(expand = c(0,0)) +
scale_y_discrete(expand = c(0,0))
J'obtiens ce résultat :
Pourquoi ?