#' Plot competitive network in competitive heatmap
#' @description Plot the competitive network
#' @name heatmap_network_plot
#' @param adj_matrix adjacency matrix from adjacenct_make()
#' @param title NULL
#' @return ...
# Function for plotting heatwork for a community with given size
heatmap_network_plot <- function(
adj_matrix, # Adjacency matrix
title = NULL) {
m <- adj_matrix
node_number <- nrow(m)
# Name color scale
myColor <- c("grey50", "grey10", "white", "black")
names(myColor) <- c("win", "draw", "loss", "self")
# Plot heatmap
melt(t(m)) %>%
mutate(
Var1 = ordered(Var1, level = 1:node_number),
Var2 = ordered(Var2, level = rev(1:node_number)),
value = ordered(value, level = c("win", "draw", "loss", "self"))
) %>%
ggplot(aes(x = Var1, y = Var2, fill = value)) +
geom_tile(color = "black", lwd = 1.5) + # Add grid
scale_fill_manual(values = myColor) +
scale_x_discrete(position = "top") + # Move x axis tick to top
theme(
axis.title.x = element_blank(),
# axis.text.x = element_text(angle = 90, hjust = 1),
axis.text = element_blank(), # Remove axis/isolates label
axis.title.y = element_blank(),
panel.grid.major = element_blank(),
panel.border = element_blank(),
panel.background = element_blank(),
axis.ticks = element_blank(),
legend.position = "top",
legend.direction = "horizontal",
legend.title = element_blank()
) +
ggtitle(title)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.