Nothing
## ----setup, echo=FALSE--------------------------------------------------------
knitr::opts_chunk$set(fig.width = 7)
## ----read-gexf----------------------------------------------------------------
# Loading rgexf
library(rgexf)
# Accessing the path of the file
fn <- system.file(
"gexf-graphs/lesmiserables.gexf", package = "rgexf"
)
lesmi <- read.gexf(fn)
# Taking a look at the first handful of nodes and edges
head(lesmi)
## ----igraph-plot--------------------------------------------------------------
lesmi_ig <- gexf.to.igraph(lesmi)
lesmi_ig
op <- par(mai = rep(0, 4)) # For extra space
plot(lesmi_ig)
par(op)
## ----go-back------------------------------------------------------------------
head(igraph.to.gexf(lesmi_ig))
## ----gexf-js, echo = FALSE, fig.alt = "Les Misérables network rendered with gexf-js"----
knitr::include_graphics("lesmiserables.png")
## -----------------------------------------------------------------------------
# Random graph demo
set.seed(11)
## -----------------------------------------------------------------------------
# Vertex
n <- 30
prb <- .3
vertex1 <- data.frame(id = 1:n, label = 1:n)
vertex2 <- data.frame(id = (n + 1):(2 * n), label = (n + 1):(2 * n))
vertex3 <- data.frame(
id = (2 * n + 1):(3 * n), label = (2 * n + 1):(3 * n)
)
## -----------------------------------------------------------------------------
# Edges
edges1 <- combn(vertex1$label, 2)
edges1 <- edges1[, which(runif(ncol(edges1)) > (1 - prb))]
edges1 <- data.frame(source = edges1[1, ], target = edges1[2, ])
edges2 <- combn(vertex2$label, 2)
edges2 <- edges2[, which(runif(ncol(edges2)) > (1 - prb))]
edges2 <- data.frame(source = edges2[1, ], target = edges2[2, ])
edges3 <- combn(vertex3$label, 2)
edges3 <- edges3[, which(runif(ncol(edges3)) > (1 - prb))]
edges3 <- data.frame(source = edges3[1, ], target = edges3[2, ])
## -----------------------------------------------------------------------------
# Visual attributes
size <- runif(n, max = 100)
color <- terrain.colors(n)
color <- color[order(runif(n))][1:n]
color <- cbind(t(col2rgb(color)), 1)
color2 <- heat.colors(n)
color2 <- color2[order(runif(n))][1:n]
color2 <- cbind(t(col2rgb(color2)), 1)
color3 <- topo.colors(n)
color3 <- color3[order(runif(n))][1:n]
color3 <- cbind(t(col2rgb(color3)), 1)
## -----------------------------------------------------------------------------
# Nice layout
pos <- matrix(0, nrow = n, ncol = 3)
for (i in 2:n) {
pos[i, 1] <- pos[i - 1, 1] + cos(2 * pi * (i * 1.7 - 1) / n)
pos[i, 2] <- pos[i - 1, 2] + sin(2 * pi * (i - 1) / n)
}
pos <- pos / (max(pos) - min(pos))
pos2 <- pos
pos2[, 1] <- pos2[, 1] + max(pos2[, 1]) - min(pos[, 1])
pos3 <- pos
pos3[, 1] <- pos3[, 1] + max(pos2[, 1]) - min(pos[, 1])
## -----------------------------------------------------------------------------
graph <- gexf(
rbind(vertex1, vertex2, vertex3),
rbind(edges1, edges2, edges3),
nodesVizAtt = list(
size = c(size, size, size),
color = rbind(color, color2, color3),
position = rbind(pos, pos2, pos3)
)
)
# Taking a quick look
head(graph)
## ----igraph-plot-2------------------------------------------------------------
# plot(graph)
op <- par(mai = rep(0, 4)) # For extra space
plot(gexf.to.igraph(graph))
par(op)
## -----------------------------------------------------------------------------
gexfjs(graph)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.