Skip to content

Instantly share code, notes, and snippets.

@danhammer
Last active May 2, 2019 05:20
Show Gist options
  • Save danhammer/cac4e489be9bcabb30737b87e9252b85 to your computer and use it in GitHub Desktop.
Save danhammer/cac4e489be9bcabb30737b87e9252b85 to your computer and use it in GitHub Desktop.
library(jsonlite)
library(ggplot2)
library(GGally)
library(network)
library(sna)
data <- fromJSON("http://earthrise-filmscripts.herokuapp.com/network?script=star_trek&apikey=0123456789")
df <- data.frame(data$nodes)
ggplot(data=df, aes(x=reorder(name, count), y=count, fill=gender)) +
geom_bar(stat="identity") +
ylab("Number of lines") +
xlab("") +
coord_flip()
netdata <- list()
netdata$edges <- data$edges[, c("source", "target")]
netdata$edges$source <- as.character(netdata$edges$source)
netdata$edges$target <- as.character(netdata$edges$target)
netdata$vertices <- data$nodes[, c("name", "gender")]
netdata$vertices$label <- as.character(0:26)
mm.net <- network(netdata$edges[, 1:2], directed = FALSE)
rownames(netdata$vertices) <- netdata$vertices$label
mm.net %v% "gender" <- as.character(
netdata$vertices[ network.vertex.names(mm.net), "gender"]
)
mm.col <- c("female" = "#ff69b4", "male" = "#0099ff")
set.seed(10052016)
ggnet2(mm.net, color = mm.col[ mm.net %v% "gender" ],
labelon = TRUE, label.color = mm.col[ mm.net %v% "gender" ],
size = 2, vjust = -0.6, mode = "kamadakawai", label.size = 3)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment