Learn R Programming

d3Network (version 0.5.2.1)

d3SimpleNetwork: Function for creating simple D3 JavaScript force directed network graphs.

Description

d3SimpleNetwork creates simple D3 JavaScript force directed network graphs.

Usage

d3SimpleNetwork(Data, Source = NULL, Target = NULL, height = 600, width = 900, fontsize = 7, linkDistance = 50, charge = -200, linkColour = "#666", nodeColour = "#3182bd", nodeClickColour = "#E34A33", textColour = "#3182bd", opacity = 0.6, parentElement = "body", standAlone = TRUE, file = NULL, iframe = FALSE, d3Script = "http://d3js.org/d3.v3.min.js")

Arguments

Data
a data frame object with three columns. The first two are the names of the linked units. The third records an edge value. (Currently the third column doesn't affect the graph.)
Source
character string naming the network source variable in the data frame. If Source = NULL then the first column of the data frame is treated as the source.
Target
character string naming the network target variable in the data frame. If Target = NULL then the second column of the data frame is treated as the target.
height
numeric height for the network graph's frame area in pixels.
width
numeric width for the network graph's frame area in pixels.
fontsize
numeric font size in pixels for the node text labels.
linkDistance
numeric distance between the links in pixels (actually arbitrary relative to the diagram's size).
charge
numeric value indicating either the strength of the node repulsion (negative value) or attraction (positive value).
linkColour
character string specifying the colour you want the link lines to be. Multiple formats supported (e.g. hexadecimal).
nodeColour
character string specifying the colour you want the node circles to be. Multiple formats supported (e.g. hexadecimal).
nodeClickColour
character string specifying the colour you want the node circles to be when they are clicked. Also changes the colour of the text. Multiple formats supported (e.g. hexadecimal).
textColour
character string specifying the colour you want the text to be before they are clicked. Multiple formats supported (e.g. hexadecimal).
opacity
numeric value of the proportion opaque you would like the graph elements to be.
parentElement
character string specifying the parent element for the resulting svg network graph. This effectively allows the user to specify where on the html page the graph will be placed. By default the parent element is body.
standAlone
logical, whether or not to return a complete HTML document (with head and foot) or just the script.
file
a character string of the file name to save the resulting graph. If a file name is given a standalone webpage is created, i.e. with a header and footer. If file = NULL then result is returned to the console.
iframe
logical. If iframe = TRUE then the graph is saved to an external file in the working directory and an HTML iframe linking to the file is printed to the console. This is useful if you are using Slidify and many other HTML slideshow framworks and want to include the graph in the resulting page. If you set the knitr code chunk results='asis' then the graph will be rendered in the output. Usually, you can use iframe = FALSE if you are creating simple knitr Markdown or HTML pages. Note: you do not need to specify the file name if iframe = TRUE, however if you do, do not include the file path.
d3Script
a character string that allows you to specify the location of the d3.js script you would like to use. The default is http://d3js.org/d3.v3.min.js.

Source

D3.js was created by Michael Bostock. See http://d3js.org/ and, more specifically for directed networks https://github.com/mbostock/d3/wiki/Force-Layout

Examples

Run this code
# Fake data
Source <- c("A", "A", "A", "A", "B", "B", "C", "C", "D")
Target <- c("B", "C", "D", "J", "E", "F", "G", "H", "I")
NetworkData <- data.frame(Source, Target)

# Create graph
d3SimpleNetwork(NetworkData, height = 300, width = 700,
                 fontsize = 15)

Run the code above in your browser using DataLab