Showing preview only (1,601K chars total). Download the full file or copy to clipboard to get everything.
Repository: timelyportfolio/d3r
Branch: master
Commit: e824baa8a01f
Files: 105
Total size: 1.5 MB
Directory structure:
gitextract_nk53hx1x/
├── .Rbuildignore
├── .github/
│ ├── .gitignore
│ └── workflows/
│ ├── R-CMD-check.yaml
│ └── check-standard.yaml
├── .gitignore
├── CONDUCT.md
├── DESCRIPTION
├── LICENSE
├── NAMESPACE
├── NEWS.md
├── R/
│ ├── dependencies.R
│ ├── hierarchy.R
│ ├── igraph.R
│ ├── json.R
│ ├── party.R
│ ├── partykit_unexported.R
│ ├── table.R
│ └── v8.R
├── README.Rmd
├── README.md
├── _pkgdown.yml
├── codecov.yml
├── d3R.Rproj
├── docs/
│ ├── 404.html
│ ├── CONDUCT.html
│ ├── LICENSE-text.html
│ ├── authors.html
│ ├── bootstrap-toc.css
│ ├── bootstrap-toc.js
│ ├── docsearch.css
│ ├── docsearch.js
│ ├── index.html
│ ├── news/
│ │ └── index.html
│ ├── pkgdown.css
│ ├── pkgdown.js
│ ├── pkgdown.yml
│ └── reference/
│ ├── change_to_name.html
│ ├── d3_dep_jetpack.html
│ ├── d3_dep_v3.html
│ ├── d3_dep_v4.html
│ ├── d3_dep_v5.html
│ ├── d3_dep_v6.html
│ ├── d3_dep_v7.html
│ ├── d3_igraph.html
│ ├── d3_json.html
│ ├── d3_nest.html
│ ├── d3_party.html
│ ├── d3_table.html
│ ├── d3_v8.html
│ ├── index.html
│ ├── libs/
│ │ ├── htmlwidgets-1.6.1/
│ │ │ └── htmlwidgets.js
│ │ └── jsonedit-binding-3.0.0/
│ │ └── jsonedit.js
│ ├── promote_na.html
│ └── promote_na_one.html
├── inst/
│ ├── examples/
│ │ ├── example_d3_annotation.R
│ │ ├── example_d3_jetpack.R
│ │ ├── example_d3_v8.R
│ │ ├── example_draw_igraph_with_layout.R
│ │ ├── example_igraph.R
│ │ ├── example_rpart.R
│ │ ├── example_table.R
│ │ ├── example_treemap.R
│ │ └── why_d3R.Rmd
│ └── www/
│ └── d3/
│ ├── d3-jetpack/
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── dist/
│ │ │ └── d3-jetpack.js
│ │ └── package.json
│ ├── v3/
│ │ └── LICENSE
│ ├── v4/
│ │ ├── API.md
│ │ ├── CHANGES.md
│ │ ├── LICENSE
│ │ └── README.md
│ ├── v5/
│ │ ├── API.md
│ │ ├── CHANGES.md
│ │ ├── LICENSE
│ │ └── README.md
│ ├── v6/
│ │ ├── API.md
│ │ ├── CHANGES.md
│ │ ├── LICENSE
│ │ └── README.md
│ └── v7/
│ ├── API.md
│ ├── CHANGES.md
│ ├── LICENSE
│ └── README.md
├── man/
│ ├── change_to_name.Rd
│ ├── d3_dep_jetpack.Rd
│ ├── d3_dep_v3.Rd
│ ├── d3_dep_v4.Rd
│ ├── d3_dep_v5.Rd
│ ├── d3_dep_v6.Rd
│ ├── d3_dep_v7.Rd
│ ├── d3_igraph.Rd
│ ├── d3_json.Rd
│ ├── d3_nest.Rd
│ ├── d3_party.Rd
│ ├── d3_table.Rd
│ ├── d3_v8.Rd
│ ├── promote_na.Rd
│ └── promote_na_one.Rd
└── tests/
├── testthat/
│ ├── test_deps.R
│ ├── test_hier.R
│ ├── test_igraph.R
│ ├── test_table.R
│ └── test_v8.R
└── testthat.R
================================================
FILE CONTENTS
================================================
================================================
FILE: .Rbuildignore
================================================
^CRAN-RELEASE$
^docs$
^_pkgdown\.yml$
^.*\.Rproj$
^\.Rproj\.user$
^README\.Rmd$
^README-.*\.png$
^\.travis\.yml$
^CONDUCT\.md$
docs
^codecov\.yml$
^cran-comments\.md$
.V8history
^experiments
^\.github$
^CRAN-SUBMISSION$
================================================
FILE: .github/.gitignore
================================================
*.html
================================================
FILE: .github/workflows/R-CMD-check.yaml
================================================
# Workflow derived from https://github.com/r-lib/actions/tree/v2/examples
# Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help
on:
push:
branches: [main, master]
pull_request:
branches: [main, master]
name: R-CMD-check
jobs:
R-CMD-check:
runs-on: ${{ matrix.config.os }}
name: ${{ matrix.config.os }} (${{ matrix.config.r }})
strategy:
fail-fast: false
matrix:
config:
- {os: macos-latest, r: 'release'}
- {os: windows-latest, r: 'release'}
- {os: ubuntu-latest, r: 'devel', http-user-agent: 'release'}
- {os: ubuntu-latest, r: 'release'}
- {os: ubuntu-latest, r: 'oldrel-1'}
env:
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
R_KEEP_PKG_SOURCE: yes
steps:
- uses: actions/checkout@v3
- uses: r-lib/actions/setup-pandoc@v2
- uses: r-lib/actions/setup-r@v2
with:
r-version: ${{ matrix.config.r }}
http-user-agent: ${{ matrix.config.http-user-agent }}
use-public-rspm: true
- uses: r-lib/actions/setup-r-dependencies@v2
with:
extra-packages: any::rcmdcheck
needs: check
- uses: r-lib/actions/check-r-package@v2
with:
upload-snapshots: true
================================================
FILE: .github/workflows/check-standard.yaml
================================================
# Workflow derived from https://github.com/r-lib/actions/tree/v2/examples
# Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help
on:
push:
branches: [main, master]
pull_request:
branches: [main, master]
name: R-CMD-check
jobs:
R-CMD-check:
runs-on: ${{ matrix.config.os }}
name: ${{ matrix.config.os }} (${{ matrix.config.r }})
strategy:
fail-fast: false
matrix:
config:
- {os: macos-latest, r: 'release'}
- {os: windows-latest, r: 'release'}
- {os: ubuntu-latest, r: 'devel', http-user-agent: 'release'}
- {os: ubuntu-latest, r: 'release'}
- {os: ubuntu-latest, r: 'oldrel-1'}
env:
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
R_KEEP_PKG_SOURCE: yes
steps:
- uses: actions/checkout@v3
- uses: r-lib/actions/setup-pandoc@v2
- uses: r-lib/actions/setup-r@v2
with:
r-version: ${{ matrix.config.r }}
http-user-agent: ${{ matrix.config.http-user-agent }}
use-public-rspm: true
- uses: r-lib/actions/setup-r-dependencies@v2
with:
extra-packages: any::rcmdcheck
needs: check
- uses: r-lib/actions/check-r-package@v2
with:
upload-snapshots: true
================================================
FILE: .gitignore
================================================
.Rproj.user
.Rhistory
.RData
.Ruserdata
inst/doc
.V8history
experiments
cran-comments.md
================================================
FILE: CONDUCT.md
================================================
# Contributor Code of Conduct
As contributors and maintainers of this project, we pledge to respect all people who
contribute through reporting issues, posting feature requests, updating documentation,
submitting pull requests or patches, and other activities.
We are committed to making participation in this project a harassment-free experience for
everyone, regardless of level of experience, gender, gender identity and expression,
sexual orientation, disability, personal appearance, body size, race, ethnicity, age, or religion.
Examples of unacceptable behavior by participants include the use of sexual language or
imagery, derogatory comments or personal attacks, trolling, public or private harassment,
insults, or other unprofessional conduct.
Project maintainers have the right and responsibility to remove, edit, or reject comments,
commits, code, wiki edits, issues, and other contributions that are not aligned to this
Code of Conduct. Project maintainers who do not follow the Code of Conduct may be removed
from the project team.
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by
opening an issue or contacting one or more of the project maintainers.
This Code of Conduct is adapted from the Contributor Covenant
(http:contributor-covenant.org), version 1.0.0, available at
http://contributor-covenant.org/version/1/0/0/
================================================
FILE: DESCRIPTION
================================================
Package: d3r
Type: Package
Title: 'd3.js' Utilities for R
Version: 1.1.0
Date: 2023-10-01
Authors@R: c(
person(
"Mike", "Bostock"
, role = c("aut", "cph")
, comment = "d3.js library in htmlwidgets/lib, http://d3js.org"
),
person(
"Kent", "Russell"
, role = c("aut", "cre", "cph")
, comment = "R interface"
, email = "kent.russell@timelyportfolio.com"
),
person(
"Gregor", "Aisch"
, role = c("aut", "cph")
, comment = "d3-jetpack creator, https://github.com/gka/d3-jetpack"
),
person(
"Adam", "Pearce"
, role = c("aut")
, comment = "core contributor to d3-jetpack"
),
person(
"Ben", "Ortiz"
, role = c("ctb")
)
)
Maintainer: Kent Russell <kent.russell@timelyportfolio.com>
URL: https://github.com/timelyportfolio/d3r
BugReports: https://github.com/timelyportfolio/d3r/issues
Description: Provides a suite of functions to help ease the use of 'd3.js' in R.
These helpers include 'htmltools::htmlDependency' functions, hierarchy
builders, and conversion tools for 'partykit', 'igraph,' 'table',
and 'data.frame' R objects into the 'JSON' that 'd3.js' expects.
License: BSD_3_clause + file LICENSE
Encoding: UTF-8
Imports: dplyr,
htmltools,
tidyr (>= 0.8.3)
Suggests: httr,
jsonlite,
listviewer,
purrr,
testthat
Enhances: igraph,
partykit,
rpart,
treemap,
V8
RoxygenNote: 7.2.3
================================================
FILE: LICENSE
================================================
YEAR: 2017
COPYRIGHT HOLDER: Kenton Russell
ORGANIZATION: Kenton Russell
================================================
FILE: NAMESPACE
================================================
# Generated by roxygen2: do not edit by hand
export(d3_dep_jetpack)
export(d3_dep_v3)
export(d3_dep_v4)
export(d3_dep_v5)
export(d3_dep_v6)
export(d3_dep_v7)
export(d3_igraph)
export(d3_json)
export(d3_nest)
export(d3_party)
export(d3_table)
export(d3_v8)
================================================
FILE: NEWS.md
================================================
# d3r 1.1.0
* update d3 version [`7.8.5`](https://github.com/d3/d3/releases/tag/v7.8.5) dependency function `d3_dep_v7()`
# d3r 1.0.1
* update d3 version [`7.8.2`](https://github.com/d3/d3/releases/tag/v7.8.2) dependency function `d3_dep_v7()`
* fix CRAN test errors
# d3r 1.0.0
* add d3 version [`7.0.0`](https://github.com/d3/d3/releases/tag/v7.0.0) dependency function `d3_dep_v7()`
* update d3 version [`6.7.0`](https://github.com/d3/d3/releases/tag/v6.7.0) in dependency function `d3_dep_v6()`
# d3r 0.9.1
* add d3 version [`6.2.0`](https://github.com/d3/d3/releases/tag/v6.2.0) dependency function `d3_dep_v6()`
# d3r 0.9.0
* remove use of `nest_` in `d3_party`
* upgrade d3v5 to [`5.16.0`](https://github.com/d3/d3/releases/tag/v5.16.0)
# d3r 0.8.7
* work with new and old `tidyr` syntax
* upgrade d3v5 to [`5.10.0`](https://github.com/d3/d3/releases/tag/v5.10.0)
# d3r 0.8.6
* update d3v5 to [`5.9.7`](https://github.com/d3/d3/releases/tag/v5.9.7)
# d3r 0.8.5
* update d3v5 to [`5.8.0`](https://github.com/d3/d3/releases/tag/v5.8.0)
# d3r 0.8.4
* update d3v5 to [`5.7.0`](https://github.com/d3/d3/releases/tag/v5.7.0)
# d3r 0.8.3
* fix extra slash in offline dependencies
# d3r 0.8.2
* update d3v5 to [`5.5.0`](https://github.com/d3/d3/releases/tag/v5.5.0)
* add httr to Suggests to resolve CRAN issue
# d3r 0.8.1
* add d3v5 for d3 [`5.1.0`](https://github.com/d3/d3/releases/tag/v5.1.0)
# d3r 0.8.0
* add d3v5 for d3 [`5.0.0-rc4`](https://github.com/d3/d3/releases/tag/v5.0.0)
* update d3v4 to [`4.13.0`](https://github.com/d3/d3/releases/tag/v4.13.0)
# d3r 0.7.1
* update d3v4 to [`4.12.0`](https://github.com/d3/d3/releases/tag/v4.12.0)
# d3r 0.7.0
* update d3v4 to [`4.11.0`](https://github.com/d3/d3/releases/tag/v4.11.0)
* update d3-jetpack to 2.0.9
# d3r 0.6.9
### Updates
* modify `d3_nest()` to work with new tidyr.
# d3r 0.6.8
### Updates
* `d3_dep_jetpack()` added. Essentially the same as d3_dep_v4(), but with a number of convenience functions added. Learn more by checking out the [d3-jetpack github page](https://github.com/gka/d3-jetpack).
* update d3v4 to [`4.10.0`](https://github.com/d3/d3/releases/tag/v4.10.0)
# d3r 0.6.7
### API Changes
* **(BREAKING)** d3_table weight column is now named value to be consistent with the newest d3-sankey plugin [commit](https://github.com/timelyportfolio/d3r/commit/65b913322f1a6c71db21496f158bb0bed645a1f6).
* Use unpkg.com for online dependencies
# d3r 0.6.6
### Updates
* add d3_table() function to convert R table into list of a nodes data.frame and a links data.frame modelled after [example](https://gist.github.com/timelyportfolio/3616869996703d48a981)
# d3r 0.6.5
### Updates
* update d3v4 to [`4.9.1`](https://github.com/d3/d3/releases/tag/v4.9.1)
# d3r 0.6.4
### Bug Fix
* d3_nest would fail with certain hierarchies that had multiple NA level; fix only takes first na_child since non-first children will be duplicates (see [commit](https://github.com/timelyportfolio/d3r/commit/1529acad5230207e3b4711202509bc5e9411076b))
# d3r 0.6.3
### Updates
* update d3v4 to [`4.8.0`](https://github.com/d3/d3/releases/tag/v4.8.0)
* test with development `dplyr`
# d3r 0.6.2
### Updates
* update d3v4 to [`4.6.0`](https://github.com/d3/d3/releases/tag/v4.6.0)
* add `d3_v8()` convenience function to return `V8` context with d3.js loaded
# d3r 0.6.1
### Updates
* update d3v4 to [`4.4.4`](https://github.com/d3/d3/releases/tag/v4.4.4)
# d3r 0.6.0
### Updates
* add `colname` to return value (see [commit](https://github.com/timelyportfolio/d3r/commit/5787e03a6b59c89b367a88f16e9c5a899482a8d3))
* improve `NA` child promotion for deeply nested hierarchies
### API Changes
* **(BREAKING)** change `id` to `name` (see [issue]( https://github.com/timelyportfolio/d3r/issues/10))
# d3r 0.5.0
### Updates
* update d3 to [4.4.0](https://github.com/d3/d3/releases/tag/v4.4.0)
### API Changes
* (non-breaking) add offline argument to d3_dep_v3 and d3_dep_v4
# d3r 0.4.2
* CRAN release
================================================
FILE: R/dependencies.R
================================================
#' 'd3.js' Dependency for Version 7
#'
#' @param offline \code{logical} to specify whether to use
#' a local copy of d3.js (\code{TRUE}) or use cdn (\code{FALSE})
#' @return \code{htmltools::htmlDependency}
#' @export
#' @examples
#' library(d3r)
#' library(htmltools)
#'
#' tagList(d3_dep_v7())
#' @family 'd3' dependency functions
#' @seealso \code{\link{d3_dep_v6}}, \code{\link{d3_dep_v5}}, \code{\link{d3_dep_v4}}, \code{\link{d3_dep_v3}},
#' and \code{\link{d3_dep_jetpack}}.
d3_dep_v7 <- function(offline=TRUE){
if(offline) {
src = c(file=system.file("www/d3/v7/dist", package="d3r"))
} else {
src <- c(href="https://unpkg.com/d3@7.8.5/dist")
}
htmltools::htmlDependency(
name = "d3",
version = "7.8.5",
src = src,
script = "d3.min.js"
)
}
#' 'd3.js' Dependency for Version 6
#'
#' @param offline \code{logical} to specify whether to use
#' a local copy of d3.js (\code{TRUE}) or use cdn (\code{FALSE})
#' @return \code{htmltools::htmlDependency}
#' @export
#' @examples
#' library(d3r)
#' library(htmltools)
#'
#' tagList(d3_dep_v6())
#' @family 'd3' dependency functions
#' @seealso \code{\link{d3_dep_v7}}, \code{\link{d3_dep_v5}}, \code{\link{d3_dep_v4}}, \code{\link{d3_dep_v3}},
#' and \code{\link{d3_dep_jetpack}}.
d3_dep_v6 <- function(offline=TRUE){
if(offline) {
src = c(file=system.file("www/d3/v6/dist", package="d3r"))
} else {
src <- c(href="https://unpkg.com/d3@6.7.0/dist")
}
htmltools::htmlDependency(
name = "d3",
version = "6.7.0",
src = src,
script = "d3.min.js"
)
}
#' 'd3.js' Dependency for Version 5
#'
#' @param offline \code{logical} to specify whether to use
#' a local copy of d3.js (\code{TRUE}) or use cdn (\code{FALSE})
#' @return \code{htmltools::htmlDependency}
#' @export
#' @examples
#' library(d3r)
#' library(htmltools)
#'
#' tagList(d3_dep_v5())
#' @family 'd3' dependency functions
#' @seealso \code{\link{d3_dep_v7}}, \code{\link{d3_dep_v6}}, \code{\link{d3_dep_v4}}, \code{\link{d3_dep_v3}},
#' and \code{\link{d3_dep_jetpack}}.
d3_dep_v5 <- function(offline=TRUE){
if(offline) {
src = c(file=system.file("www/d3/v5/dist", package="d3r"))
} else {
src <- c(href="https://unpkg.com/d3@5.16.0/dist")
}
htmltools::htmlDependency(
name = "d3",
version = "5.16.0",
src = src,
script = "d3.min.js"
)
}
#' 'd3.js' Dependency for Version 4
#'
#' @param offline \code{logical} to specify whether to use
#' a local copy of d3.js (\code{TRUE}) or use cdn (\code{FALSE})
#' @return \code{htmltools::htmlDependency}
#' @export
#' @examples
#' library(d3r)
#' library(htmltools)
#'
#' tagList(d3_dep_v4())
#' @family 'd3' dependency functions
#' @seealso \code{\link{d3_dep_v7}}, \code{\link{d3_dep_v6}}, \code{\link{d3_dep_v5}}, \code{\link{d3_dep_v3}},
#' and \code{\link{d3_dep_jetpack}}.
d3_dep_v4 <- function(offline=TRUE){
if(offline) {
src = c(file=system.file("www/d3/v4/dist", package="d3r"))
} else {
src <- c(href="https://unpkg.com/d3@4.13.0/build")
}
htmltools::htmlDependency(
name = "d3",
version = "4.13.0",
src = src,
script = "d3.min.js"
)
}
#' 'd3.js' Dependency for Version 3
#'
#' @param offline \code{logical} to specify whether to use
#' a local copy of d3.js (\code{TRUE}) or use cdn (\code{FALSE})
#' @return \code{htmltools::htmlDependency}
#' @export
#' @examples
#' library(d3r)
#' library(htmltools)
#'
#' tagList(d3_dep_v3())
#' @family 'd3' dependency functions
#' @seealso \code{\link{d3_dep_v7}}, \code{\link{d3_dep_v6}}, \code{\link{d3_dep_v5}}, \code{\link{d3_dep_v4}},
#' and \code{\link{d3_dep_jetpack}}.
d3_dep_v3 <- function(offline=TRUE){
if(offline) {
src = c(file=system.file("www/d3/v3/dist", package="d3r"))
} else {
src <- c(href="https://unpkg.com/d3@3.5.17")
}
htmltools::htmlDependency(
name = "d3",
version = "3.5.17",
src = src,
script = "d3.min.js"
)
}
#' 'd3.js' Dependency for Version 4 Jetpack
#'
#' d3-jetpack is a set of nifty convenience wrappers that speed up
#' your daily work with d3.js. Must be included after \code{d3_dep_v4()}.
#' Learn more by reading \href{https://github.com/gka/d3-jetpack}{d3-jetpack}
#' or by watching this \href{https://www.youtube.com/watch?v=_5ky0AYq_Dg&t=4s}{YouTube}.
#'
#' @param offline \code{logical} to specify whether to use
#' a local copy of d3.js (\code{TRUE}) or use cdn (\code{FALSE})
#' @return \code{htmltools::htmlDependency}
#' @export
#' @example ./inst/examples/example_d3_jetpack.R
#' @family 'd3' dependency functions
d3_dep_jetpack <- function(offline=TRUE){
if(offline) {
src <- c(file=system.file("www/d3/d3-jetpack/dist", package="d3r"))
} else {
src <- c(href="https://unpkg.com/d3-jetpack@2.0.9/build")
}
htmltools::htmlDependency(
name = "d3-jetpack",
version = "2.0.9",
src = src,
script = "d3-jetpack.js"
)
}
================================================
FILE: R/hierarchy.R
================================================
#' Change Column Name in Children to "name"
#'
#' @param x \code{data.frame} or \code{data.frame} derivative, such
#' as \code{tibble}
#' @param column column to convert
#'
#' @return \code{data.frame}
change_to_name <- function(x, column=1){
child_list <- lapply(
x$children,
function(y) {
y <- dplyr::mutate(y, "colname" = colnames(y)[column])
dplyr::rename(y,"name" = colnames(y)[column])
}
)
dplyr::mutate(x, children = child_list)
}
#' Promote NA to Top Level
#'
#' @param x \code{data.frame}
#'
#' @return \code{data.frame}
promote_na_one <- function(x){
# find children that are na
# expect this to only happen once, so only take first na
# to define values
na_child_loc <- which(is.na(x$children[[1]]$name))
# promote all non-d3r columns to top level
if(length(na_child_loc)){
na_child <- x$children[[1]][na_child_loc,]
x <- dplyr::bind_cols(
x,
na_child[1,setdiff(colnames(na_child),c("name","children","colname"))]
)
# eliminate na child
x$children[[1]] <- x$children[[1]][-na_child_loc,]
x
} else {
x
}
}
#' Apply `promote_na` to All Rows
#'
#' @param x \code{data.frame}
#'
#' @return \code{data.frame}
promote_na <- function(x){
#by_row now deprecated
#purrr::by_row(x, promote_na_one)$.out
lapply(
seq_len(nrow(x)),
function(row){promote_na_one(x[row,])}
)
}
#' Convert a \code{data.frame} to a 'd3.js' Hierarchy
#'
#' @param data \code{data.frame} or \code{data.frame} derivative, such
#' as \code{tibble}
#' @param value_cols \code{character} vector with the names of the
#' columns to use as data
#' @param root \code{character} name of the root level of the hierarchy
#' @param json \code{logical} to return as \code{JSON}
#'
#' @return nested \code{data.frame}
#' @export
#'
#' @example ./inst/examples/example_table.R
#' @example ./inst/examples/example_treemap.R
d3_nest <- function(
data=NULL,
value_cols=character(),
root = "root",
json = TRUE
) {
stopifnot(!is.null(data), inherits(data, "data.frame"))
nonnest_cols <- dplyr::setdiff(colnames(data),value_cols)
# looks like new tidyr requires tibble to nest correctly
data <- dplyr::as_tibble(data)
# convert factor to character
data <- dplyr::mutate_if(data, is.factor, as.character)
# syntax changed in tidyr > 0.8.3
if(utils::packageVersion("tidyr") > "0.8.3") {
data_nested <- dplyr::bind_rows(promote_na(
change_to_name(
tidyr::nest(
.data=data,
children = dplyr::one_of(c(nonnest_cols[length(nonnest_cols)], value_cols))
)
)
))
} else {
data_nested <- dplyr::bind_rows(promote_na(
change_to_name(
tidyr::nest(
data=data,
dplyr::one_of(c(nonnest_cols[length(nonnest_cols)], value_cols)),
.key="children"
)
)
))
}
for(x in rev(
colnames(data_nested)[
-which(colnames(data_nested) %in% c("children","colname",value_cols))
]
)){
if(utils::packageVersion("tidyr") > "0.8.3") {
data_nested <- dplyr::bind_rows(promote_na(
change_to_name(
tidyr::nest(
.data = data_nested,
children = dplyr::one_of(colnames(data_nested)[colnames(data_nested) %in% c(x,"children",value_cols)])
)
)
))
} else {
data_nested <- dplyr::bind_rows(promote_na(
change_to_name(
tidyr::nest(
data_nested,
dplyr::one_of(colnames(data_nested)[colnames(data_nested) %in% c(x,"children",value_cols)]),
.key = "children"
)
)
))
}
}
data_nested$name = root
if(json){
d3_json(data_nested,strip=TRUE)
} else {
data_nested
}
}
================================================
FILE: R/igraph.R
================================================
#' Convert 'igraph' to 'd3.js'
#'
#' @param igrf \code{igraph}
#' @param json \code{logical} to return as \code{JSON}
#'
#' @return \code{list}
#' @export
#'
#' @example ./inst/examples/example_igraph.R
d3_igraph <- function(igrf = NULL, json=TRUE) {
stopifnot(!is.null(igrf), inherits(igrf,"igraph"),requireNamespace("igraph"))
network <- igraph::as_data_frame(
igrf,
what = "both"
)
nodes <- network$vertices
# use rownames as id
if(!("id" %in% colnames(nodes))){
nodes$id <- rownames(network$vertices)
}
links <- dplyr::rename(
network$edges,
"source" = "from",
"target" = "to"
)
# convert factor to character
nodes <- dplyr::mutate_if(nodes, is.factor, as.character)
links <- dplyr::mutate_if(links, is.factor, as.character)
# not necessary but if ids are numeric use zero-based indexing
# and convert
suppressWarnings(are_ids_numeric <- !any(is.na(as.numeric(nodes$id))))
if(are_ids_numeric){
nodes$id <- as.character(as.numeric(nodes$id) - 1)
links$source <- as.character(as.numeric(links$source)-1)
links$target <- as.character(as.numeric(links$target)-1)
}
# add graph attributes
graphattr <- igraph::graph_attr(igrf)
if(json){
d3_json(list(nodes=nodes,links=links,attributes=graphattr),strip=FALSE)
} else {
list(nodes=nodes,links=links,attributes=graphattr)
}
}
================================================
FILE: R/json.R
================================================
### convenience functions to use arguments to jsonlite::toJSON
### that play nicely with d3.js
#' Create 'JSON' that 'd3.js' Expects
#'
#' @param x data, usually in the form of \code{data.frame} or \code{list}
#' @param strip \code{logical} to remove outer array. Use \code{strip=TRUE}
#' for hierarchies from \code{d3_nest}
#'
#' @return \code{string} of 'JSON' data
#' @export
d3_json <- function(x=NULL, strip=TRUE){
xj <- jsonlite::toJSON(x, auto_unbox=TRUE, dataframe="rows")
# remove array so only get first element as object
if(strip){
substr(xj,2,nchar(xj)-1)
} else {
xj
}
}
================================================
FILE: R/party.R
================================================
# convert rpart / partykit to d3
# some help from http://stackoverflow.com/questions/34196611/converting-rpart-output-into-json-format-in-r/38469619?noredirect=1#comment65954307_38469619
# method in sankeytree
#' Convert partykit to d3.js hierarchy
#'
#' This thing is not even close to being done, so please help
#' with ideas and contributions.
#'
#' @param tree \code{partykit} object to be converted
#' @param json \code{logical} to return \code{list} or \code{json}
#'
#' @return \code{list} or \code{json} depending on \code{json} arg
#'
#' @example ./inst/examples/example_rpart.R
#'
#'
#' @export
d3_party = function (tree=NULL, json=TRUE) {
stopifnot(!is.null(tree), requireNamespace("partykit"))
# Checking the decision tree object
if(!inherits(tree, c("constparty","party"))){
tree_pk <- partykit::as.party(tree)
} else {
tree_pk <- tree
}
data <- rapply(tree_pk$node, unclass, how="list")
#fill in information at the root level for now
#that might be nice to provide to our interactive graph
data$info <- rapply(
unclass(tree_pk)[-1]
,function(l){
l = unclass(l)
if( class(l) %in% c("terms","formula","call")) {
l = paste0(as.character(l)[-1],collapse=as.character(l)[1])
}
attributes(l) <- NULL
return(l)
}
,how="replace"
)
#get all the other meta data we need and merge it in to the list
## changed pattern from [1-9] to [0-9] because we were missing node 10
tree_text <- invisible( utils::capture.output( print(tree_pk) ) )
tree_text <- tree_text[grep( x = tree_text, pattern = "(\\[)([0-9]*)(\\])")]
tree_text <- strsplit( tree_text, "[\\[\\|\\]]" , perl = T)
tree_text <- lapply(
seq.int(1,length(tree_text)),
function(i){
x <- tree_text[[i]]
tail_data <- utils::tail(x,2)
data.frame(
"id" = as.numeric(tail_data[1])
, description = tail_data[2]
, stringsAsFactors = F
)
}
)
tree_text <- do.call(rbind, tree_text)
# terminal nodes have descriptive stats in their names, so I stripped these out
# so the final plot wouldn't have duplicate data
tree_text$description <- sapply(strsplit(tree_text[,2], ":"), "[", 1)
# add rules
tree_text$rule <- sapply(partykit::nodeids(tree_pk),function(n){.list.rules.party(tree_pk,n)})
# if frame data (rpart, maybe others) then add
# binding the node names from rpk with more of the relevant meta data from rp
# i don't think that partykit imports this automatically for the inner nodes, so i did it manually
if("frame" %in% names(tree)){
tree_text <- cbind(tree_text, tree$frame)
# rounding the mean DV value
tree_text$yval <- round(tree_text$yval, 2)
}
# now try to add size / count information
# rpart easy and will have n but other more difficult
if(
"fitted" %in% names(unclass(tree_pk)) &&
!("(weights)" %in% names(tree_pk$fitted))
){
tree_pk$fitted["(weights)"] <- 1
}
counts <- data.frame(
stats::xtabs(`(weights)`~`(fitted)`+`(response)`,tree_pk$fitted),
stringsAsFactors=FALSE
)
colnames(counts) <- c("fitted", "response", "freq")
counts$fitted = as.numeric(as.character(counts$fitted))
counts <- tidyr::nest(counts, .by = "fitted")
# would use dplyr join here, but nested data.frame
# flattened on join; this does not happen with nested
# tibble, but don't want to add another depedency
# do the merge of tree_text with data by
# walking the tree and joining by id
join_data <- function(l){
l <- unclass(l)
l <- utils::modifyList(l,tree_text[which(tree_text$id==l$id),])
l$size <- counts[which(counts$fitted==l$id),]
if(!("n" %in% names(tree_text))){
if(nrow(l$size) > 0){
l$n <- sum(l$size$freq)
}
}
l
}
merge_data <- function(l){
l <- join_data(l)
if("kids" %in% names(l) && length(l$kids)>0){
lapply(
1:length(l$kids),
function(n){
l$kids[[n]] <<- merge_data(l$kids[[n]])
}
)
} else if("kids" %in% names(l) && length(l$kids)==0) {
l$kids <- NULL
}
l
}
hier <- rapply(merge_data(data), unclass, how="list")
hier <- recurse(hier, sum_var)
hier <- recurse(hier, rename_children)
if(json){
d3_json(hier, strip=FALSE)
} else {
hier
}
}
#' @keywords internal
rename_children <- function(l, old_name="kids", new_name="children") {
if(length(names(l))>0) {
names(l)[which(names(l)==old_name)] <- new_name
}
l
}
#' @keywords internal
sum_var <- function(l, varname="n", childname="kids"){
if(is.list(l) && length(l)>0 && childname %in% names(l)){
ul <- unlist(l)
nms <- names(ul)
loc <- grep(x=nms, pattern=sprintf("\\.%s$",varname), perl=TRUE)
if(length(loc)>0){
l[[varname]] <- sum(as.numeric(unlist(ul[loc])))
} else {
l[[varname]] <- 0
}
l
} else {
l
}
}
#' @keywords internal
recurse <- function(l, func, ...) {
l <- func(l, ...)
if(is.list(l) && length(l)>0){
lapply(
l,
function(ll){
recurse(ll, func, ...)
}
)
} else {
l
}
}
================================================
FILE: R/partykit_unexported.R
================================================
# this is copied directly from
# from the unexported .list.rules.party in partykit
# copied here to make CRAN happy and avoid a NOTE
#' @keywords internal
.list.rules.party <- function (x, i = NULL, ...)
{
if (is.null(i))
i <- partykit::nodeids(x, terminal = TRUE)
if (length(i) > 1) {
ret <- sapply(i, .list.rules.party, x = x)
names(ret) <- if (is.character(i))
i
else names(x)[i]
return(ret)
}
if (is.character(i) && !is.null(names(x)))
i <- which(names(x) %in% i)
stopifnot(length(i) == 1 & is.numeric(i))
stopifnot(i <= length(x) & i >= 1)
i <- as.integer(i)
dat <- partykit::data_party(x, i)
if (!is.null(x$fitted)) {
findx <- which("(fitted)" == names(dat))[1]
fit <- dat[, findx:ncol(dat), drop = FALSE]
dat <- dat[, -(findx:ncol(dat)), drop = FALSE]
if (ncol(dat) == 0)
dat <- x$data
}
else {
fit <- NULL
dat <- x$data
}
rule <- c()
recFun <- function(node) {
if (partykit::id_node(node) == i)
return(NULL)
kid <- sapply(partykit::kids_node(node), partykit::id_node)
whichkid <- max(which(kid <= i))
split <- partykit::split_node(node)
ivar <- partykit::varid_split(split)
svar <- names(dat)[ivar]
index <- partykit::index_split(split)
if (is.factor(dat[, svar])) {
if (is.null(index))
index <- ((1:nlevels(dat[, svar])) > partykit::breaks_split(split)) +
1
slevels <- levels(dat[, svar])[index == whichkid]
srule <- paste(svar, " %in% c(\"", paste(slevels,
collapse = "\", \"", sep = ""), "\")", sep = "")
}
else {
if (is.null(index))
index <- 1:length(kid)
breaks <- cbind(c(-Inf, partykit::breaks_split(split)), c(partykit::breaks_split(split),
Inf))
sbreak <- breaks[index == whichkid, ]
right <- partykit::right_split(split)
srule <- c()
if (is.finite(sbreak[1]))
srule <- c(srule, paste(svar, ifelse(right, ">",
">="), sbreak[1]))
if (is.finite(sbreak[2]))
srule <- c(srule, paste(svar, ifelse(right, "<=",
"<"), sbreak[2]))
srule <- paste(srule, collapse = " & ")
}
rule <<- c(rule, srule)
return(recFun(node[[whichkid]]))
}
node <- recFun(partykit::node_party(x))
paste(rule, collapse = " & ")
}
================================================
FILE: R/table.R
================================================
#' @keywords internal
links_get <- function(tB, vars=NULL, agg="Freq") {
if(length(vars) == 1){
return(data.frame())
}
#assume vars in order of source, target
vars_df <- sapply(1:(length(vars)-1),function(v){c(vars[v],vars[v+1])})
vars_df <- data.frame(
t(vars_df),
stringsAsFactors = FALSE
)
vars_df <- apply(
vars_df,
MARGIN=1,
function(c){
paste0(as.vector(c),collapse="+")
}
)
vars_df <- do.call(
rbind,
lapply(
vars_df,
function(f){
structure(
data.frame(stats::xtabs(paste0(agg,"~",f),tB)),
names = c("source","target","value")
)
}
)
)
colnames(vars_df) <- c("source","target","value")
vars_df
}
#' @keywords internal
links_transform <- function(links=NULL, nodes=NULL, vars=NULL, agg=NULL, tB=NULL) {
if (nrow(links) > 0) {
links <- lapply(
1:ncol(links),
function(x){
if (is.factor(links[,x])){
as.character(links[,x])
} else links[,x]
}
)
links <- data.frame(links, stringsAsFactors = F)
colnames(links) <- c("source","target","value")
}
links_tail <- data.frame(
utils::tail(nodes,1),
stats::xtabs(paste0(agg,"~",vars[1]),tB)
)
colnames(links_tail) <- c("source","target","value")
links <- rbind(
links,
links_tail
)
links[,c(1,2)] <- lapply(
links[,c(1,2)],
function(x){
match(as.character(x),nodes)-1
}
)
links
}
#' Converts Table to 'd3' Nodes and Links
#'
#' @param tB \code{table} to convert
#' @param vars \code{character} vector of column names
#' @param agg \code{character} column name of aggregated value
#'
#' @return \code{list} of two \code{data.frames} - one for nodes and
#' one for links of the network. This structure is helpful
#' when working with \code{networkD3} and \code{visNetwork}.
#' @examples
#' library(d3r)
#' d3_table(Titanic, c("Class","Sex"))
#'
#' @export
d3_table <- function( tB = NULL, vars = NULL, agg = "Freq" ) {
stopifnot(!is.null(tB), inherits(tB, "table"))
if(is.null(vars)){
vars = names(dimnames(tB))
}
nodes <- unique(
unlist(
unname(
dimnames(tB)[vars]
)
)
)
# add name of table as root in nodes
nodes[length(nodes)+1]= as.character(substitute(tB))
links <- links_get(tB = tB, vars = vars, agg = agg)
links_transformed <- links_transform(links, nodes, vars, agg, tB)
# try to get size for nodes
nodes_df <- data.frame(name=as.character(nodes),stringsAsFactors = F)
nodes_df <- lapply(
vars,
function(v){
stats::xtabs(paste0(agg,"~",v),tB)
}
)
nodes_df <- data.frame(
name = names(unlist(nodes_df)),
value = as.vector(unlist(nodes_df)),
stringsAsFactors = F
)
nodes_df <- rbind(
nodes_df,
data.frame(
name = utils::tail(nodes,1),
value = sum(tB)
)
)
# not sure if this is necessary any more
# legacy of previous code
rownames(nodes_df) <- sort(as.numeric(rownames(nodes_df)))
return(
list(
nodes = nodes_df,
links = links_transformed
)
)
}
================================================
FILE: R/v8.R
================================================
#' Create V8 Context with D3
#'
#' @param ... arguments passed to \code{v8()}
#'
#' @return \code{v8} context with d3.js loaded and available as d3
#' @example inst/examples/example_d3_v8.R
#' @export
d3_v8 <- function(...) {
if(!requireNamespace("V8")) {
stop("The V8 package must be installed for this function. Please install.packages('V8').")
}
d3dep <- d3_dep_v6()
ctx <- V8::v8(...)
ctx$source(
file.path(
d3dep$src,
d3dep$script
)
)
return(ctx)
}
================================================
FILE: README.Rmd
================================================
---
output: github_document
always_allow_html: true
---
<!-- README.md is generated from README.Rmd. Please edit that file -->
```{r, echo = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "README-"
)
```
[](https://cran.r-project.org/package=d3r)
[](https://github.com/timelyportfolio/d3r/actions/workflows/R-CMD-check.yaml)
### Installing d3r
`d3r` is on CRAN, so install with `install.packages("d3r")` or for the absolute latest use `devtools`.
```
devtools::install_github("timelyportfolio/d3r")
```
### d3 Dependency Functions
`d3r` makes `d3.js` dependency injection in R easy with `d3_dep_v3()`, `d3_dep_v4()`, `d3_dep_v5()`, `d3_dep_v6()`, and the newest `d3_dep_v7()`. These functions work well with `htmltools::tags`.
```
library(htmltools)
library(d3r)
# check web developer tools to see d3 is available
browsable(
attachDependencies(
tagList(),
d3_dep_v7()
)
)
# or include directly in a taglist; I prefer this method.
browsable(
tagList(
h1("I have d3 version ", span(id="version")),
tags$script("d3.select('#version').text(d3.version)"),
d3_dep_v7()
)
)
```
Also, I will commit to keeping `d3r` up-to-date with `d3.js`, so you'll no longer need multiple copies of `d3.js` for your `htmlwidgets`. If you are a `htmlwidget` author, you will no longer need to worry every time `d3.js` gets a new release. See `treebar` [lines](https://github.com/timelyportfolio/treebar/blob/master/R/treebar.R#L66-L74) for an example of using `d3r` with your `htmlwidget`.
### d3 Hierarchy from data.frame
Building `d3.js` hierarchies can be very difficult. `d3r::d3_nest()` will convert `table` and `data.frame` to a nested `d3.js` hierarchy ready for work with [`d3-hierarchy`](https://github.com/d3/d3-hierarchy).
```
d3_nest(as.data.frame(Titanic))
```
As another example, let's go from `treemap` to `d3.js`.
```
library(treemap)
library(d3r)
d3_nest(
treemap::random.hierarchical.data(),
value_cols = "x"
)
```
### d3 Hierarchy from partykit / rpart
`rpart` and similar objects in `R` are very difficult to convert but make perfect subjects for `d3` hierarchical layouts. `d3_party` helps convert these objects for easy usage with `d3.js`.
```
#devtools::install_github("timelyportfolio/d3treeR")
library(d3treeR)
library(d3r)
# example from ?rpart
data("kyphosis", package="rpart")
rp <- rpart::rpart(
Kyphosis ~ Age + Number + Start,
data = kyphosis
)
# get the json hierarchy
d3_party(tree=rp)
# interactive plot with d3treeR
d3tree2(
d3_party(tree=rp),
celltext="description",
valueField="n"
)
```
### d3 Network from igraph
`igraph` to `d3.js` network of `nodes` and `links` is a very common conversion. `d3r::d3_igraph` will do this for you.
```
library(igraph)
library(d3r)
d3_igraph(igraph::watts.strogatz.game(1, 50, 4, 0.05))
```
### Todo
I have a whole lot of ideas. Please let me know yours, and let's make this package great.
### Code of Conduct
Please note that this project is released with a [Contributor Code of Conduct](https://github.com/timelyportfolio/d3r/blob/master/CONDUCT.md). By participating in this project you agree to abide by its terms.
================================================
FILE: README.md
================================================
<!-- README.md is generated from README.Rmd. Please edit that file -->
[](https://cran.r-project.org/package=d3r)
[](https://github.com/timelyportfolio/d3r/actions/workflows/R-CMD-check.yaml)
### Installing d3r
`d3r` is on CRAN, so install with `install.packages("d3r")` or for the
absolute latest use `devtools`.
devtools::install_github("timelyportfolio/d3r")
### d3 Dependency Functions
`d3r` makes `d3.js` dependency injection in R easy with `d3_dep_v3()`,
`d3_dep_v4()`, `d3_dep_v5()`, `d3_dep_v6()`, and the newest
`d3_dep_v7()`. These functions work well with `htmltools::tags`.
library(htmltools)
library(d3r)
# check web developer tools to see d3 is available
browsable(
attachDependencies(
tagList(),
d3_dep_v7()
)
)
# or include directly in a taglist; I prefer this method.
browsable(
tagList(
h1("I have d3 version ", span(id="version")),
tags$script("d3.select('#version').text(d3.version)"),
d3_dep_v7()
)
)
Also, I will commit to keeping `d3r` up-to-date with `d3.js`, so you’ll
no longer need multiple copies of `d3.js` for your `htmlwidgets`. If you
are a `htmlwidget` author, you will no longer need to worry every time
`d3.js` gets a new release. See `treebar`
[lines](https://github.com/timelyportfolio/treebar/blob/master/R/treebar.R#L66-L74)
for an example of using `d3r` with your `htmlwidget`.
### d3 Hierarchy from data.frame
Building `d3.js` hierarchies can be very difficult. `d3r::d3_nest()`
will convert `table` and `data.frame` to a nested `d3.js` hierarchy
ready for work with
[`d3-hierarchy`](https://github.com/d3/d3-hierarchy).
d3_nest(as.data.frame(Titanic))
As another example, let’s go from `treemap` to `d3.js`.
library(treemap)
library(d3r)
d3_nest(
treemap::random.hierarchical.data(),
value_cols = "x"
)
### d3 Hierarchy from partykit / rpart
`rpart` and similar objects in `R` are very difficult to convert but
make perfect subjects for `d3` hierarchical layouts. `d3_party` helps
convert these objects for easy usage with `d3.js`.
#devtools::install_github("timelyportfolio/d3treeR")
library(d3treeR)
library(d3r)
# example from ?rpart
data("kyphosis", package="rpart")
rp <- rpart::rpart(
Kyphosis ~ Age + Number + Start,
data = kyphosis
)
# get the json hierarchy
d3_party(tree=rp)
# interactive plot with d3treeR
d3tree2(
d3_party(tree=rp),
celltext="description",
valueField="n"
)
### d3 Network from igraph
`igraph` to `d3.js` network of `nodes` and `links` is a very common
conversion. `d3r::d3_igraph` will do this for you.
library(igraph)
library(d3r)
d3_igraph(igraph::watts.strogatz.game(1, 50, 4, 0.05))
### Todo
I have a whole lot of ideas. Please let me know yours, and let’s make
this package great.
### Code of Conduct
Please note that this project is released with a [Contributor Code of
Conduct](https://github.com/timelyportfolio/d3r/blob/master/CONDUCT.md).
By participating in this project you agree to abide by its terms.
================================================
FILE: _pkgdown.yml
================================================
================================================
FILE: codecov.yml
================================================
comment: false
================================================
FILE: d3R.Rproj
================================================
Version: 1.0
RestoreWorkspace: Default
SaveWorkspace: Default
AlwaysSaveHistory: Default
EnableCodeIndexing: Yes
UseSpacesForTab: Yes
NumSpacesForTab: 2
Encoding: UTF-8
RnwWeave: Sweave
LaTeX: pdfLaTeX
AutoAppendNewline: Yes
StripTrailingWhitespace: Yes
BuildType: Package
PackageUseDevtools: Yes
PackageInstallArgs: --no-multiarch --with-keep.source
PackageRoxygenize: rd,collate,namespace
================================================
FILE: docs/404.html
================================================
<!DOCTYPE html>
<!-- Generated by pkgdown: do not edit by hand --><html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Page not found (404) • d3r</title>
<!-- jquery --><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script><!-- Bootstrap --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap.min.css" integrity="sha256-bZLfwXAP04zRMK2BjiO8iu9pf4FbLqX6zitd+tIvLhE=" crossorigin="anonymous">
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/js/bootstrap.min.js" integrity="sha256-nuL8/2cJ5NDSSwnKD8VqreErSWHtnEP9E7AySL+1ev4=" crossorigin="anonymous"></script><!-- bootstrap-toc --><link rel="stylesheet" href="bootstrap-toc.css">
<script src="bootstrap-toc.js"></script><!-- Font Awesome icons --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/all.min.css" integrity="sha256-mmgLkCYLUQbXn0B1SRqzHar6dCnv9oZFPEC1g1cwlkk=" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/v4-shims.min.css" integrity="sha256-wZjR52fzng1pJHwx4aV2AO3yyTOXrcDW7jBpJtTwVxw=" crossorigin="anonymous">
<!-- clipboard.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.6/clipboard.min.js" integrity="sha256-inc5kl9MA1hkeYUt+EC3BhlIgyp/2jDIyBLS6k3UxPI=" crossorigin="anonymous"></script><!-- headroom.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/headroom.min.js" integrity="sha256-AsUX4SJE1+yuDu5+mAVzJbuYNPHj/WroHuZ8Ir/CkE0=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script><!-- pkgdown --><link href="pkgdown.css" rel="stylesheet">
<script src="pkgdown.js"></script><meta property="og:title" content="Page not found (404)">
<!-- mathjax --><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script><!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body data-spy="scroll" data-target="#toc">
<div class="container template-title-body">
<header><div class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<span class="navbar-brand">
<a class="navbar-link" href="index.html">d3r</a>
<span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="">1.1.0</span>
</span>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li>
<a href="reference/index.html">Reference</a>
</li>
<li>
<a href="news/index.html">Changelog</a>
</li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li>
<a href="https://github.com/timelyportfolio/d3r/" class="external-link">
<span class="fab fa-github fa-lg"></span>
</a>
</li>
</ul>
</div>
<!--/.nav-collapse -->
</div>
<!--/.container -->
</div>
<!--/.navbar -->
</header><div class="row">
<div class="contents col-md-9">
<div class="page-header">
<h1>Page not found (404)</h1>
</div>
Content not found. Please use links in the navbar.
</div>
<div class="col-md-3 hidden-xs hidden-sm" id="pkgdown-sidebar">
<nav id="toc" data-toggle="toc" class="sticky-top"><h2 data-toc-skip>Contents</h2>
</nav>
</div>
</div>
<footer><div class="copyright">
<p></p>
<p>Developed by Mike Bostock, Kent Russell, Gregor Aisch, Adam Pearce.</p>
</div>
<div class="pkgdown">
<p></p>
<p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.0.7.</p>
</div>
</footer>
</div>
</body>
</html>
================================================
FILE: docs/CONDUCT.html
================================================
<!DOCTYPE html>
<!-- Generated by pkgdown: do not edit by hand --><html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Contributor Code of Conduct • d3r</title><!-- jquery --><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script><!-- Bootstrap --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap.min.css" integrity="sha256-bZLfwXAP04zRMK2BjiO8iu9pf4FbLqX6zitd+tIvLhE=" crossorigin="anonymous"><script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/js/bootstrap.min.js" integrity="sha256-nuL8/2cJ5NDSSwnKD8VqreErSWHtnEP9E7AySL+1ev4=" crossorigin="anonymous"></script><!-- bootstrap-toc --><link rel="stylesheet" href="bootstrap-toc.css"><script src="bootstrap-toc.js"></script><!-- Font Awesome icons --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/all.min.css" integrity="sha256-mmgLkCYLUQbXn0B1SRqzHar6dCnv9oZFPEC1g1cwlkk=" crossorigin="anonymous"><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/v4-shims.min.css" integrity="sha256-wZjR52fzng1pJHwx4aV2AO3yyTOXrcDW7jBpJtTwVxw=" crossorigin="anonymous"><!-- clipboard.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.6/clipboard.min.js" integrity="sha256-inc5kl9MA1hkeYUt+EC3BhlIgyp/2jDIyBLS6k3UxPI=" crossorigin="anonymous"></script><!-- headroom.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/headroom.min.js" integrity="sha256-AsUX4SJE1+yuDu5+mAVzJbuYNPHj/WroHuZ8Ir/CkE0=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script><!-- pkgdown --><link href="pkgdown.css" rel="stylesheet"><script src="pkgdown.js"></script><meta property="og:title" content="Contributor Code of Conduct"><!-- mathjax --><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script><!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]--></head><body data-spy="scroll" data-target="#toc">
<div class="container template-title-body">
<header><div class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<span class="navbar-brand">
<a class="navbar-link" href="index.html">d3r</a>
<span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="">1.1.0</span>
</span>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav"><li>
<a href="reference/index.html">Reference</a>
</li>
<li>
<a href="news/index.html">Changelog</a>
</li>
</ul><ul class="nav navbar-nav navbar-right"><li>
<a href="https://github.com/timelyportfolio/d3r/" class="external-link">
<span class="fab fa-github fa-lg"></span>
</a>
</li>
</ul></div><!--/.nav-collapse -->
</div><!--/.container -->
</div><!--/.navbar -->
</header><div class="row">
<div class="contents col-md-9">
<div class="page-header">
<h1>Contributor Code of Conduct</h1>
</div>
<div id="contributor-code-of-conduct" class="section level1">
<p>As contributors and maintainers of this project, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities.</p>
<p>We are committed to making participation in this project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, or religion.</p>
<p>Examples of unacceptable behavior by participants include the use of sexual language or imagery, derogatory comments or personal attacks, trolling, public or private harassment, insults, or other unprofessional conduct.</p>
<p>Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct. Project maintainers who do not follow the Code of Conduct may be removed from the project team.</p>
<p>Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting one or more of the project maintainers.</p>
<p>This Code of Conduct is adapted from the Contributor Covenant (<a href="http:contributor-covenant.org" class="uri">http:contributor-covenant.org</a>), version 1.0.0, available at <a href="http://contributor-covenant.org/version/1/0/0/" class="external-link uri">http://contributor-covenant.org/version/1/0/0/</a></p>
</div>
</div>
<div class="col-md-3 hidden-xs hidden-sm" id="pkgdown-sidebar">
<nav id="toc" data-toggle="toc" class="sticky-top"><h2 data-toc-skip>Contents</h2>
</nav></div>
</div>
<footer><div class="copyright">
<p></p><p>Developed by Mike Bostock, Kent Russell, Gregor Aisch, Adam Pearce.</p>
</div>
<div class="pkgdown">
<p></p><p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.0.7.</p>
</div>
</footer></div>
</body></html>
================================================
FILE: docs/LICENSE-text.html
================================================
<!DOCTYPE html>
<!-- Generated by pkgdown: do not edit by hand --><html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>License • d3r</title><!-- jquery --><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script><!-- Bootstrap --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap.min.css" integrity="sha256-bZLfwXAP04zRMK2BjiO8iu9pf4FbLqX6zitd+tIvLhE=" crossorigin="anonymous"><script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/js/bootstrap.min.js" integrity="sha256-nuL8/2cJ5NDSSwnKD8VqreErSWHtnEP9E7AySL+1ev4=" crossorigin="anonymous"></script><!-- bootstrap-toc --><link rel="stylesheet" href="bootstrap-toc.css"><script src="bootstrap-toc.js"></script><!-- Font Awesome icons --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/all.min.css" integrity="sha256-mmgLkCYLUQbXn0B1SRqzHar6dCnv9oZFPEC1g1cwlkk=" crossorigin="anonymous"><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/v4-shims.min.css" integrity="sha256-wZjR52fzng1pJHwx4aV2AO3yyTOXrcDW7jBpJtTwVxw=" crossorigin="anonymous"><!-- clipboard.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.6/clipboard.min.js" integrity="sha256-inc5kl9MA1hkeYUt+EC3BhlIgyp/2jDIyBLS6k3UxPI=" crossorigin="anonymous"></script><!-- headroom.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/headroom.min.js" integrity="sha256-AsUX4SJE1+yuDu5+mAVzJbuYNPHj/WroHuZ8Ir/CkE0=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script><!-- pkgdown --><link href="pkgdown.css" rel="stylesheet"><script src="pkgdown.js"></script><meta property="og:title" content="License"><!-- mathjax --><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script><!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]--></head><body data-spy="scroll" data-target="#toc">
<div class="container template-title-body">
<header><div class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<span class="navbar-brand">
<a class="navbar-link" href="index.html">d3r</a>
<span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="">1.1.0</span>
</span>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav"><li>
<a href="reference/index.html">Reference</a>
</li>
<li>
<a href="news/index.html">Changelog</a>
</li>
</ul><ul class="nav navbar-nav navbar-right"><li>
<a href="https://github.com/timelyportfolio/d3r/" class="external-link">
<span class="fab fa-github fa-lg"></span>
</a>
</li>
</ul></div><!--/.nav-collapse -->
</div><!--/.container -->
</div><!--/.navbar -->
</header><div class="row">
<div class="contents col-md-9">
<div class="page-header">
<h1>License</h1>
</div>
<pre>YEAR: 2017
COPYRIGHT HOLDER: Kenton Russell
ORGANIZATION: Kenton Russell
</pre>
</div>
<div class="col-md-3 hidden-xs hidden-sm" id="pkgdown-sidebar">
<nav id="toc" data-toggle="toc" class="sticky-top"><h2 data-toc-skip>Contents</h2>
</nav></div>
</div>
<footer><div class="copyright">
<p></p><p>Developed by Mike Bostock, Kent Russell, Gregor Aisch, Adam Pearce.</p>
</div>
<div class="pkgdown">
<p></p><p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.0.7.</p>
</div>
</footer></div>
</body></html>
================================================
FILE: docs/authors.html
================================================
<!DOCTYPE html>
<!-- Generated by pkgdown: do not edit by hand --><html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Authors and Citation • d3r</title><!-- jquery --><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script><!-- Bootstrap --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap.min.css" integrity="sha256-bZLfwXAP04zRMK2BjiO8iu9pf4FbLqX6zitd+tIvLhE=" crossorigin="anonymous"><script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/js/bootstrap.min.js" integrity="sha256-nuL8/2cJ5NDSSwnKD8VqreErSWHtnEP9E7AySL+1ev4=" crossorigin="anonymous"></script><!-- bootstrap-toc --><link rel="stylesheet" href="bootstrap-toc.css"><script src="bootstrap-toc.js"></script><!-- Font Awesome icons --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/all.min.css" integrity="sha256-mmgLkCYLUQbXn0B1SRqzHar6dCnv9oZFPEC1g1cwlkk=" crossorigin="anonymous"><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/v4-shims.min.css" integrity="sha256-wZjR52fzng1pJHwx4aV2AO3yyTOXrcDW7jBpJtTwVxw=" crossorigin="anonymous"><!-- clipboard.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.6/clipboard.min.js" integrity="sha256-inc5kl9MA1hkeYUt+EC3BhlIgyp/2jDIyBLS6k3UxPI=" crossorigin="anonymous"></script><!-- headroom.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/headroom.min.js" integrity="sha256-AsUX4SJE1+yuDu5+mAVzJbuYNPHj/WroHuZ8Ir/CkE0=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script><!-- pkgdown --><link href="pkgdown.css" rel="stylesheet"><script src="pkgdown.js"></script><meta property="og:title" content="Authors and Citation"><!-- mathjax --><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script><!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]--></head><body data-spy="scroll" data-target="#toc">
<div class="container template-citation-authors">
<header><div class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<span class="navbar-brand">
<a class="navbar-link" href="index.html">d3r</a>
<span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="">1.1.0</span>
</span>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav"><li>
<a href="reference/index.html">Reference</a>
</li>
<li>
<a href="news/index.html">Changelog</a>
</li>
</ul><ul class="nav navbar-nav navbar-right"><li>
<a href="https://github.com/timelyportfolio/d3r/" class="external-link">
<span class="fab fa-github fa-lg"></span>
</a>
</li>
</ul></div><!--/.nav-collapse -->
</div><!--/.container -->
</div><!--/.navbar -->
</header><div class="row">
<div class="contents col-md-9">
<div class="section level2 authors-section">
<div class="page-header">
<h1>Authors</h1>
</div>
<ul class="list-unstyled"><li>
<p><strong>Mike Bostock</strong>. Author, copyright holder.
<br><small>d3.js library in htmlwidgets/lib, http://d3js.org</small></p>
</li>
<li>
<p><strong>Kent Russell</strong>. Author, maintainer, copyright holder.
<br><small>R interface</small></p>
</li>
<li>
<p><strong>Gregor Aisch</strong>. Author, copyright holder.
<br><small>d3-jetpack creator, https://github.com/gka/d3-jetpack</small></p>
</li>
<li>
<p><strong>Adam Pearce</strong>. Author.
<br><small>core contributor to d3-jetpack</small></p>
</li>
<li>
<p><strong>Ben Ortiz</strong>. Contributor.
</p>
</li>
</ul></div>
<div class="section level2 citation-section">
<div>
<h1 id="citation">Citation</h1>
<small class="dont-index">Source: <a href="https://github.com/timelyportfolio/d3r/blob/HEAD/DESCRIPTION" class="external-link"><code>DESCRIPTION</code></a></small>
</div>
</div>
<p>Bostock M, Russell K, Aisch G, Pearce A (2023).
<em>d3r: 'd3.js' Utilities for R</em>.
R package version 1.1.0, <a href="https://github.com/timelyportfolio/d3r" class="external-link">https://github.com/timelyportfolio/d3r</a>.
</p>
<pre>@Manual{,
title = {d3r: 'd3.js' Utilities for R},
author = {Mike Bostock and Kent Russell and Gregor Aisch and Adam Pearce},
year = {2023},
note = {R package version 1.1.0},
url = {https://github.com/timelyportfolio/d3r},
}</pre>
</div>
</div>
<footer><div class="copyright">
<p></p><p>Developed by Mike Bostock, Kent Russell, Gregor Aisch, Adam Pearce.</p>
</div>
<div class="pkgdown">
<p></p><p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.0.7.</p>
</div>
</footer></div>
</body></html>
================================================
FILE: docs/bootstrap-toc.css
================================================
/*!
* Bootstrap Table of Contents v0.4.1 (http://afeld.github.io/bootstrap-toc/)
* Copyright 2015 Aidan Feldman
* Licensed under MIT (https://github.com/afeld/bootstrap-toc/blob/gh-pages/LICENSE.md) */
/* modified from https://github.com/twbs/bootstrap/blob/94b4076dd2efba9af71f0b18d4ee4b163aa9e0dd/docs/assets/css/src/docs.css#L548-L601 */
/* All levels of nav */
nav[data-toggle='toc'] .nav > li > a {
display: block;
padding: 4px 20px;
font-size: 13px;
font-weight: 500;
color: #767676;
}
nav[data-toggle='toc'] .nav > li > a:hover,
nav[data-toggle='toc'] .nav > li > a:focus {
padding-left: 19px;
color: #563d7c;
text-decoration: none;
background-color: transparent;
border-left: 1px solid #563d7c;
}
nav[data-toggle='toc'] .nav > .active > a,
nav[data-toggle='toc'] .nav > .active:hover > a,
nav[data-toggle='toc'] .nav > .active:focus > a {
padding-left: 18px;
font-weight: bold;
color: #563d7c;
background-color: transparent;
border-left: 2px solid #563d7c;
}
/* Nav: second level (shown on .active) */
nav[data-toggle='toc'] .nav .nav {
display: none; /* Hide by default, but at >768px, show it */
padding-bottom: 10px;
}
nav[data-toggle='toc'] .nav .nav > li > a {
padding-top: 1px;
padding-bottom: 1px;
padding-left: 30px;
font-size: 12px;
font-weight: normal;
}
nav[data-toggle='toc'] .nav .nav > li > a:hover,
nav[data-toggle='toc'] .nav .nav > li > a:focus {
padding-left: 29px;
}
nav[data-toggle='toc'] .nav .nav > .active > a,
nav[data-toggle='toc'] .nav .nav > .active:hover > a,
nav[data-toggle='toc'] .nav .nav > .active:focus > a {
padding-left: 28px;
font-weight: 500;
}
/* from https://github.com/twbs/bootstrap/blob/e38f066d8c203c3e032da0ff23cd2d6098ee2dd6/docs/assets/css/src/docs.css#L631-L634 */
nav[data-toggle='toc'] .nav > .active > ul {
display: block;
}
================================================
FILE: docs/bootstrap-toc.js
================================================
/*!
* Bootstrap Table of Contents v0.4.1 (http://afeld.github.io/bootstrap-toc/)
* Copyright 2015 Aidan Feldman
* Licensed under MIT (https://github.com/afeld/bootstrap-toc/blob/gh-pages/LICENSE.md) */
(function() {
'use strict';
window.Toc = {
helpers: {
// return all matching elements in the set, or their descendants
findOrFilter: function($el, selector) {
// http://danielnouri.org/notes/2011/03/14/a-jquery-find-that-also-finds-the-root-element/
// http://stackoverflow.com/a/12731439/358804
var $descendants = $el.find(selector);
return $el.filter(selector).add($descendants).filter(':not([data-toc-skip])');
},
generateUniqueIdBase: function(el) {
var text = $(el).text();
var anchor = text.trim().toLowerCase().replace(/[^A-Za-z0-9]+/g, '-');
return anchor || el.tagName.toLowerCase();
},
generateUniqueId: function(el) {
var anchorBase = this.generateUniqueIdBase(el);
for (var i = 0; ; i++) {
var anchor = anchorBase;
if (i > 0) {
// add suffix
anchor += '-' + i;
}
// check if ID already exists
if (!document.getElementById(anchor)) {
return anchor;
}
}
},
generateAnchor: function(el) {
if (el.id) {
return el.id;
} else {
var anchor = this.generateUniqueId(el);
el.id = anchor;
return anchor;
}
},
createNavList: function() {
return $('<ul class="nav"></ul>');
},
createChildNavList: function($parent) {
var $childList = this.createNavList();
$parent.append($childList);
return $childList;
},
generateNavEl: function(anchor, text) {
var $a = $('<a></a>');
$a.attr('href', '#' + anchor);
$a.text(text);
var $li = $('<li></li>');
$li.append($a);
return $li;
},
generateNavItem: function(headingEl) {
var anchor = this.generateAnchor(headingEl);
var $heading = $(headingEl);
var text = $heading.data('toc-text') || $heading.text();
return this.generateNavEl(anchor, text);
},
// Find the first heading level (`<h1>`, then `<h2>`, etc.) that has more than one element. Defaults to 1 (for `<h1>`).
getTopLevel: function($scope) {
for (var i = 1; i <= 6; i++) {
var $headings = this.findOrFilter($scope, 'h' + i);
if ($headings.length > 1) {
return i;
}
}
return 1;
},
// returns the elements for the top level, and the next below it
getHeadings: function($scope, topLevel) {
var topSelector = 'h' + topLevel;
var secondaryLevel = topLevel + 1;
var secondarySelector = 'h' + secondaryLevel;
return this.findOrFilter($scope, topSelector + ',' + secondarySelector);
},
getNavLevel: function(el) {
return parseInt(el.tagName.charAt(1), 10);
},
populateNav: function($topContext, topLevel, $headings) {
var $context = $topContext;
var $prevNav;
var helpers = this;
$headings.each(function(i, el) {
var $newNav = helpers.generateNavItem(el);
var navLevel = helpers.getNavLevel(el);
// determine the proper $context
if (navLevel === topLevel) {
// use top level
$context = $topContext;
} else if ($prevNav && $context === $topContext) {
// create a new level of the tree and switch to it
$context = helpers.createChildNavList($prevNav);
} // else use the current $context
$context.append($newNav);
$prevNav = $newNav;
});
},
parseOps: function(arg) {
var opts;
if (arg.jquery) {
opts = {
$nav: arg
};
} else {
opts = arg;
}
opts.$scope = opts.$scope || $(document.body);
return opts;
}
},
// accepts a jQuery object, or an options object
init: function(opts) {
opts = this.helpers.parseOps(opts);
// ensure that the data attribute is in place for styling
opts.$nav.attr('data-toggle', 'toc');
var $topContext = this.helpers.createChildNavList(opts.$nav);
var topLevel = this.helpers.getTopLevel(opts.$scope);
var $headings = this.helpers.getHeadings(opts.$scope, topLevel);
this.helpers.populateNav($topContext, topLevel, $headings);
}
};
$(function() {
$('nav[data-toggle="toc"]').each(function(i, el) {
var $nav = $(el);
Toc.init($nav);
});
});
})();
================================================
FILE: docs/docsearch.css
================================================
/* Docsearch -------------------------------------------------------------- */
/*
Source: https://github.com/algolia/docsearch/
License: MIT
*/
.algolia-autocomplete {
display: block;
-webkit-box-flex: 1;
-ms-flex: 1;
flex: 1
}
.algolia-autocomplete .ds-dropdown-menu {
width: 100%;
min-width: none;
max-width: none;
padding: .75rem 0;
background-color: #fff;
background-clip: padding-box;
border: 1px solid rgba(0, 0, 0, .1);
box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .175);
}
@media (min-width:768px) {
.algolia-autocomplete .ds-dropdown-menu {
width: 175%
}
}
.algolia-autocomplete .ds-dropdown-menu::before {
display: none
}
.algolia-autocomplete .ds-dropdown-menu [class^=ds-dataset-] {
padding: 0;
background-color: rgb(255,255,255);
border: 0;
max-height: 80vh;
}
.algolia-autocomplete .ds-dropdown-menu .ds-suggestions {
margin-top: 0
}
.algolia-autocomplete .algolia-docsearch-suggestion {
padding: 0;
overflow: visible
}
.algolia-autocomplete .algolia-docsearch-suggestion--category-header {
padding: .125rem 1rem;
margin-top: 0;
font-size: 1.3em;
font-weight: 500;
color: #00008B;
border-bottom: 0
}
.algolia-autocomplete .algolia-docsearch-suggestion--wrapper {
float: none;
padding-top: 0
}
.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column {
float: none;
width: auto;
padding: 0;
text-align: left
}
.algolia-autocomplete .algolia-docsearch-suggestion--content {
float: none;
width: auto;
padding: 0
}
.algolia-autocomplete .algolia-docsearch-suggestion--content::before {
display: none
}
.algolia-autocomplete .ds-suggestion:not(:first-child) .algolia-docsearch-suggestion--category-header {
padding-top: .75rem;
margin-top: .75rem;
border-top: 1px solid rgba(0, 0, 0, .1)
}
.algolia-autocomplete .ds-suggestion .algolia-docsearch-suggestion--subcategory-column {
display: block;
padding: .1rem 1rem;
margin-bottom: 0.1;
font-size: 1.0em;
font-weight: 400
/* display: none */
}
.algolia-autocomplete .algolia-docsearch-suggestion--title {
display: block;
padding: .25rem 1rem;
margin-bottom: 0;
font-size: 0.9em;
font-weight: 400
}
.algolia-autocomplete .algolia-docsearch-suggestion--text {
padding: 0 1rem .5rem;
margin-top: -.25rem;
font-size: 0.8em;
font-weight: 400;
line-height: 1.25
}
.algolia-autocomplete .algolia-docsearch-footer {
width: 110px;
height: 20px;
z-index: 3;
margin-top: 10.66667px;
float: right;
font-size: 0;
line-height: 0;
}
.algolia-autocomplete .algolia-docsearch-footer--logo {
background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 130 18' xmlns='http://www.w3.org/2000/svg'><defs><linearGradient x1='-36.868%' y1='134.936%' x2='129.432%' y2='-27.7%' id='a'><stop stop-color='%2300AEFF' offset='0%'/><stop stop-color='%233369E7' offset='100%'/></linearGradient></defs><g fill='none' fill-rule='evenodd'><path d='M59.399.022h13.299a2.372 2.372 0 0 1 2.377 2.364V15.62a2.372 2.372 0 0 1-2.377 2.364H59.399a2.372 2.372 0 0 1-2.377-2.364V2.381A2.368 2.368 0 0 1 59.399.022z' fill='url(%23a)'/><path d='M66.257 4.56c-2.815 0-5.1 2.272-5.1 5.078 0 2.806 2.284 5.072 5.1 5.072 2.815 0 5.1-2.272 5.1-5.078 0-2.806-2.279-5.072-5.1-5.072zm0 8.652c-1.983 0-3.593-1.602-3.593-3.574 0-1.972 1.61-3.574 3.593-3.574 1.983 0 3.593 1.602 3.593 3.574a3.582 3.582 0 0 1-3.593 3.574zm0-6.418v2.664c0 .076.082.131.153.093l2.377-1.226c.055-.027.071-.093.044-.147a2.96 2.96 0 0 0-2.465-1.487c-.055 0-.11.044-.11.104l.001-.001zm-3.33-1.956l-.312-.311a.783.783 0 0 0-1.106 0l-.372.37a.773.773 0 0 0 0 1.101l.307.305c.049.049.121.038.164-.011.181-.245.378-.479.597-.697.225-.223.455-.42.707-.599.055-.033.06-.109.016-.158h-.001zm5.001-.806v-.616a.781.781 0 0 0-.783-.779h-1.824a.78.78 0 0 0-.783.779v.632c0 .071.066.12.137.104a5.736 5.736 0 0 1 1.588-.223c.52 0 1.035.071 1.534.207a.106.106 0 0 0 .131-.104z' fill='%23FFF'/><path d='M102.162 13.762c0 1.455-.372 2.517-1.123 3.193-.75.676-1.895 1.013-3.44 1.013-.564 0-1.736-.109-2.673-.316l.345-1.689c.783.163 1.819.207 2.361.207.86 0 1.473-.174 1.84-.523.367-.349.548-.866.548-1.553v-.349a6.374 6.374 0 0 1-.838.316 4.151 4.151 0 0 1-1.194.158 4.515 4.515 0 0 1-1.616-.278 3.385 3.385 0 0 1-1.254-.817 3.744 3.744 0 0 1-.811-1.351c-.192-.539-.29-1.504-.29-2.212 0-.665.104-1.498.307-2.054a3.925 3.925 0 0 1 .904-1.433 4.124 4.124 0 0 1 1.441-.926 5.31 5.31 0 0 1 1.945-.365c.696 0 1.337.087 1.961.191a15.86 15.86 0 0 1 1.588.332v8.456h-.001zm-5.954-4.206c0 .893.197 1.885.592 2.299.394.414.904.621 1.528.621.34 0 .663-.049.964-.142a2.75 2.75 0 0 0 .734-.332v-5.29a8.531 8.531 0 0 0-1.413-.18c-.778-.022-1.369.294-1.786.801-.411.507-.619 1.395-.619 2.223zm16.12 0c0 .719-.104 1.264-.318 1.858a4.389 4.389 0 0 1-.904 1.52c-.389.42-.854.746-1.402.975-.548.229-1.391.36-1.813.36-.422-.005-1.26-.125-1.802-.36a4.088 4.088 0 0 1-1.397-.975 4.486 4.486 0 0 1-.909-1.52 5.037 5.037 0 0 1-.329-1.858c0-.719.099-1.411.318-1.999.219-.588.526-1.09.92-1.509.394-.42.865-.741 1.402-.97a4.547 4.547 0 0 1 1.786-.338 4.69 4.69 0 0 1 1.791.338c.548.229 1.019.55 1.402.97.389.42.69.921.909 1.509.23.588.345 1.28.345 1.999h.001zm-2.191.005c0-.921-.203-1.689-.597-2.223-.394-.539-.948-.806-1.654-.806-.707 0-1.26.267-1.654.806-.394.539-.586 1.302-.586 2.223 0 .932.197 1.558.592 2.098.394.545.948.812 1.654.812.707 0 1.26-.272 1.654-.812.394-.545.592-1.166.592-2.098h-.001zm6.962 4.707c-3.511.016-3.511-2.822-3.511-3.274L113.583.926l2.142-.338v10.003c0 .256 0 1.88 1.375 1.885v1.792h-.001zm3.774 0h-2.153V5.072l2.153-.338v9.534zm-1.079-10.542c.718 0 1.304-.578 1.304-1.291 0-.714-.581-1.291-1.304-1.291-.723 0-1.304.578-1.304 1.291 0 .714.586 1.291 1.304 1.291zm6.431 1.013c.707 0 1.304.087 1.786.262.482.174.871.42 1.156.73.285.311.488.735.608 1.182.126.447.186.937.186 1.476v5.481a25.24 25.24 0 0 1-1.495.251c-.668.098-1.419.147-2.251.147a6.829 6.829 0 0 1-1.517-.158 3.213 3.213 0 0 1-1.178-.507 2.455 2.455 0 0 1-.761-.904c-.181-.37-.274-.893-.274-1.438 0-.523.104-.855.307-1.215.208-.36.487-.654.838-.883a3.609 3.609 0 0 1 1.227-.49 7.073 7.073 0 0 1 2.202-.103c.263.027.537.076.833.147v-.349c0-.245-.027-.479-.088-.697a1.486 1.486 0 0 0-.307-.583c-.148-.169-.34-.3-.581-.392a2.536 2.536 0 0 0-.915-.163c-.493 0-.942.06-1.353.131-.411.071-.75.153-1.008.245l-.257-1.749c.268-.093.668-.185 1.183-.278a9.335 9.335 0 0 1 1.66-.142l-.001-.001zm.181 7.731c.657 0 1.145-.038 1.484-.104v-2.168a5.097 5.097 0 0 0-1.978-.104c-.241.033-.46.098-.652.191a1.167 1.167 0 0 0-.466.392c-.121.169-.175.267-.175.523 0 .501.175.79.493.981.323.196.75.289 1.293.289h.001zM84.109 4.794c.707 0 1.304.087 1.786.262.482.174.871.42 1.156.73.29.316.487.735.608 1.182.126.447.186.937.186 1.476v5.481a25.24 25.24 0 0 1-1.495.251c-.668.098-1.419.147-2.251.147a6.829 6.829 0 0 1-1.517-.158 3.213 3.213 0 0 1-1.178-.507 2.455 2.455 0 0 1-.761-.904c-.181-.37-.274-.893-.274-1.438 0-.523.104-.855.307-1.215.208-.36.487-.654.838-.883a3.609 3.609 0 0 1 1.227-.49 7.073 7.073 0 0 1 2.202-.103c.257.027.537.076.833.147v-.349c0-.245-.027-.479-.088-.697a1.486 1.486 0 0 0-.307-.583c-.148-.169-.34-.3-.581-.392a2.536 2.536 0 0 0-.915-.163c-.493 0-.942.06-1.353.131-.411.071-.75.153-1.008.245l-.257-1.749c.268-.093.668-.185 1.183-.278a8.89 8.89 0 0 1 1.66-.142l-.001-.001zm.186 7.736c.657 0 1.145-.038 1.484-.104v-2.168a5.097 5.097 0 0 0-1.978-.104c-.241.033-.46.098-.652.191a1.167 1.167 0 0 0-.466.392c-.121.169-.175.267-.175.523 0 .501.175.79.493.981.318.191.75.289 1.293.289h.001zm8.682 1.738c-3.511.016-3.511-2.822-3.511-3.274L89.461.926l2.142-.338v10.003c0 .256 0 1.88 1.375 1.885v1.792h-.001z' fill='%23182359'/><path d='M5.027 11.025c0 .698-.252 1.246-.757 1.644-.505.397-1.201.596-2.089.596-.888 0-1.615-.138-2.181-.414v-1.214c.358.168.739.301 1.141.397.403.097.778.145 1.125.145.508 0 .884-.097 1.125-.29a.945.945 0 0 0 .363-.779.978.978 0 0 0-.333-.747c-.222-.204-.68-.446-1.375-.725-.716-.29-1.221-.621-1.515-.994-.294-.372-.44-.82-.44-1.343 0-.655.233-1.171.698-1.547.466-.376 1.09-.564 1.875-.564.752 0 1.5.165 2.245.494l-.408 1.047c-.698-.294-1.321-.44-1.869-.44-.415 0-.73.09-.945.271a.89.89 0 0 0-.322.717c0 .204.043.379.129.524.086.145.227.282.424.411.197.129.551.299 1.063.51.577.24.999.464 1.268.671.269.208.466.442.591.704.125.261.188.569.188.924l-.001.002zm3.98 2.24c-.924 0-1.646-.269-2.167-.808-.521-.539-.782-1.281-.782-2.226 0-.97.242-1.733.725-2.288.483-.555 1.148-.833 1.993-.833.784 0 1.404.238 1.858.714.455.476.682 1.132.682 1.966v.682H7.357c.018.577.174 1.02.467 1.329.294.31.707.465 1.241.465.351 0 .678-.033.98-.099a5.1 5.1 0 0 0 .975-.33v1.026a3.865 3.865 0 0 1-.935.312 5.723 5.723 0 0 1-1.08.091l.002-.001zm-.231-5.199c-.401 0-.722.127-.964.381s-.386.625-.432 1.112h2.696c-.007-.491-.125-.862-.354-1.115-.229-.252-.544-.379-.945-.379l-.001.001zm7.692 5.092l-.252-.827h-.043c-.286.362-.575.608-.865.739-.29.131-.662.196-1.117.196-.584 0-1.039-.158-1.367-.473-.328-.315-.491-.761-.491-1.337 0-.612.227-1.074.682-1.386.455-.312 1.148-.482 2.079-.51l1.026-.032v-.317c0-.38-.089-.663-.266-.851-.177-.188-.452-.282-.824-.282-.304 0-.596.045-.876.134a6.68 6.68 0 0 0-.806.317l-.408-.902a4.414 4.414 0 0 1 1.058-.384 4.856 4.856 0 0 1 1.085-.132c.756 0 1.326.165 1.711.494.385.329.577.847.577 1.552v4.002h-.902l-.001-.001zm-1.88-.859c.458 0 .826-.128 1.104-.384.278-.256.416-.615.416-1.077v-.516l-.763.032c-.594.021-1.027.121-1.297.298s-.406.448-.406.814c0 .265.079.47.236.615.158.145.394.218.709.218h.001zm7.557-5.189c.254 0 .464.018.628.054l-.124 1.176a2.383 2.383 0 0 0-.559-.064c-.505 0-.914.165-1.227.494-.313.329-.47.757-.47 1.284v3.105h-1.262V7.218h.988l.167 1.047h.064c.197-.354.454-.636.771-.843a1.83 1.83 0 0 1 1.023-.312h.001zm4.125 6.155c-.899 0-1.582-.262-2.049-.787-.467-.525-.701-1.277-.701-2.259 0-.999.244-1.767.733-2.304.489-.537 1.195-.806 2.119-.806.627 0 1.191.116 1.692.349l-.381 1.015c-.534-.208-.974-.312-1.321-.312-1.028 0-1.542.682-1.542 2.046 0 .666.128 1.166.384 1.501.256.335.631.502 1.125.502a3.23 3.23 0 0 0 1.595-.419v1.101a2.53 2.53 0 0 1-.722.285 4.356 4.356 0 0 1-.932.086v.002zm8.277-.107h-1.268V9.506c0-.458-.092-.8-.277-1.026-.184-.226-.477-.338-.878-.338-.53 0-.919.158-1.168.475-.249.317-.373.848-.373 1.593v2.949h-1.262V4.801h1.262v2.122c0 .34-.021.704-.064 1.09h.081a1.76 1.76 0 0 1 .717-.666c.306-.158.663-.236 1.072-.236 1.439 0 2.159.725 2.159 2.175v3.873l-.001-.001zm7.649-6.048c.741 0 1.319.269 1.732.806.414.537.62 1.291.62 2.261 0 .974-.209 1.732-.628 2.275-.419.542-1.001.814-1.746.814-.752 0-1.336-.27-1.751-.811h-.086l-.231.704h-.945V4.801h1.262v1.987l-.021.655-.032.553h.054c.401-.591.992-.886 1.772-.886zm-.328 1.031c-.508 0-.875.149-1.098.448-.224.299-.339.799-.346 1.501v.086c0 .723.115 1.247.344 1.571.229.324.603.486 1.123.486.448 0 .787-.177 1.018-.532.231-.354.346-.867.346-1.536 0-1.35-.462-2.025-1.386-2.025l-.001.001zm3.244-.924h1.375l1.209 3.368c.183.48.304.931.365 1.354h.043c.032-.197.091-.436.177-.717.086-.281.541-1.616 1.364-4.004h1.364l-2.541 6.73c-.462 1.235-1.232 1.853-2.31 1.853-.279 0-.551-.03-.816-.091v-.999c.19.043.406.064.65.064.609 0 1.037-.353 1.284-1.058l.22-.559-2.385-5.941h.001z' fill='%231D3657'/></g></svg>");
background-repeat: no-repeat;
background-position: 50%;
background-size: 100%;
overflow: hidden;
text-indent: -9000px;
width: 100%;
height: 100%;
display: block;
transform: translate(-8px);
}
.algolia-autocomplete .algolia-docsearch-suggestion--highlight {
color: #FF8C00;
background: rgba(232, 189, 54, 0.1)
}
.algolia-autocomplete .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight {
box-shadow: inset 0 -2px 0 0 rgba(105, 105, 105, .5)
}
.algolia-autocomplete .ds-suggestion.ds-cursor .algolia-docsearch-suggestion--content {
background-color: rgba(192, 192, 192, .15)
}
================================================
FILE: docs/docsearch.js
================================================
$(function() {
// register a handler to move the focus to the search bar
// upon pressing shift + "/" (i.e. "?")
$(document).on('keydown', function(e) {
if (e.shiftKey && e.keyCode == 191) {
e.preventDefault();
$("#search-input").focus();
}
});
$(document).ready(function() {
// do keyword highlighting
/* modified from https://jsfiddle.net/julmot/bL6bb5oo/ */
var mark = function() {
var referrer = document.URL ;
var paramKey = "q" ;
if (referrer.indexOf("?") !== -1) {
var qs = referrer.substr(referrer.indexOf('?') + 1);
var qs_noanchor = qs.split('#')[0];
var qsa = qs_noanchor.split('&');
var keyword = "";
for (var i = 0; i < qsa.length; i++) {
var currentParam = qsa[i].split('=');
if (currentParam.length !== 2) {
continue;
}
if (currentParam[0] == paramKey) {
keyword = decodeURIComponent(currentParam[1].replace(/\+/g, "%20"));
}
}
if (keyword !== "") {
$(".contents").unmark({
done: function() {
$(".contents").mark(keyword);
}
});
}
}
};
mark();
});
});
/* Search term highlighting ------------------------------*/
function matchedWords(hit) {
var words = [];
var hierarchy = hit._highlightResult.hierarchy;
// loop to fetch from lvl0, lvl1, etc.
for (var idx in hierarchy) {
words = words.concat(hierarchy[idx].matchedWords);
}
var content = hit._highlightResult.content;
if (content) {
words = words.concat(content.matchedWords);
}
// return unique words
var words_uniq = [...new Set(words)];
return words_uniq;
}
function updateHitURL(hit) {
var words = matchedWords(hit);
var url = "";
if (hit.anchor) {
url = hit.url_without_anchor + '?q=' + escape(words.join(" ")) + '#' + hit.anchor;
} else {
url = hit.url + '?q=' + escape(words.join(" "));
}
return url;
}
================================================
FILE: docs/index.html
================================================
<!DOCTYPE html>
<!-- Generated by pkgdown: do not edit by hand --><html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>d3.js Utilities for R • d3r</title>
<!-- jquery --><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script><!-- Bootstrap --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap.min.css" integrity="sha256-bZLfwXAP04zRMK2BjiO8iu9pf4FbLqX6zitd+tIvLhE=" crossorigin="anonymous">
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/js/bootstrap.min.js" integrity="sha256-nuL8/2cJ5NDSSwnKD8VqreErSWHtnEP9E7AySL+1ev4=" crossorigin="anonymous"></script><!-- bootstrap-toc --><link rel="stylesheet" href="bootstrap-toc.css">
<script src="bootstrap-toc.js"></script><!-- Font Awesome icons --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/all.min.css" integrity="sha256-mmgLkCYLUQbXn0B1SRqzHar6dCnv9oZFPEC1g1cwlkk=" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/v4-shims.min.css" integrity="sha256-wZjR52fzng1pJHwx4aV2AO3yyTOXrcDW7jBpJtTwVxw=" crossorigin="anonymous">
<!-- clipboard.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.6/clipboard.min.js" integrity="sha256-inc5kl9MA1hkeYUt+EC3BhlIgyp/2jDIyBLS6k3UxPI=" crossorigin="anonymous"></script><!-- headroom.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/headroom.min.js" integrity="sha256-AsUX4SJE1+yuDu5+mAVzJbuYNPHj/WroHuZ8Ir/CkE0=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script><!-- pkgdown --><link href="pkgdown.css" rel="stylesheet">
<script src="pkgdown.js"></script><meta property="og:title" content="d3.js Utilities for R">
<meta property="og:description" content="Provides a suite of functions to help ease the use of d3.js in R.
These helpers include htmltools::htmlDependency functions, hierarchy
builders, and conversion tools for partykit, igraph, table,
and data.frame R objects into the JSON that d3.js expects.">
<!-- mathjax --><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script><!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body data-spy="scroll" data-target="#toc">
<div class="container template-home">
<header><div class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<span class="navbar-brand">
<a class="navbar-link" href="index.html">d3r</a>
<span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="">1.1.0</span>
</span>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li>
<a href="reference/index.html">Reference</a>
</li>
<li>
<a href="news/index.html">Changelog</a>
</li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li>
<a href="https://github.com/timelyportfolio/d3r/" class="external-link">
<span class="fab fa-github fa-lg"></span>
</a>
</li>
</ul>
</div>
<!--/.nav-collapse -->
</div>
<!--/.container -->
</div>
<!--/.navbar -->
</header><div class="row">
<div class="contents col-md-9">
<div class="section level3">
<h3 id="installing-d3r">Installing d3r<a class="anchor" aria-label="anchor" href="#installing-d3r"></a>
</h3>
<p><code>d3r</code> is on CRAN, so install with <code>install.packages("d3r")</code> or for the absolute latest use <code>devtools</code>.</p>
<div class="sourceCode" id="cb1"><pre class="sourceCode R"><code class="sourceCode r"><span id="cb1-1"><a href="#cb1-1" tabindex="-1"></a>devtools<span class="sc">::</span><span class="fu">install_github</span>(<span class="st">"timelyportfolio/d3r"</span>)</span></code></pre></div>
</div>
<div class="section level3">
<h3 id="d3-dependency-functions">d3 Dependency Functions<a class="anchor" aria-label="anchor" href="#d3-dependency-functions"></a>
</h3>
<p><code>d3r</code> makes <code>d3.js</code> dependency injection in R easy with <code><a href="reference/d3_dep_v3.html">d3_dep_v3()</a></code>, <code><a href="reference/d3_dep_v4.html">d3_dep_v4()</a></code>, <code><a href="reference/d3_dep_v5.html">d3_dep_v5()</a></code>, <code><a href="reference/d3_dep_v6.html">d3_dep_v6()</a></code>, and the newest <code><a href="reference/d3_dep_v7.html">d3_dep_v7()</a></code>. These functions work well with <code><a href="https://rstudio.github.io/htmltools/reference/builder.html" class="external-link">htmltools::tags</a></code>.</p>
<div class="sourceCode" id="cb2"><pre class="sourceCode R"><code class="sourceCode r"><span id="cb2-1"><a href="#cb2-1" tabindex="-1"></a><span class="fu">library</span>(htmltools)</span>
<span id="cb2-2"><a href="#cb2-2" tabindex="-1"></a><span class="fu">library</span>(d3r)</span>
<span id="cb2-3"><a href="#cb2-3" tabindex="-1"></a></span>
<span id="cb2-4"><a href="#cb2-4" tabindex="-1"></a><span class="co"># check web developer tools to see d3 is available</span></span>
<span id="cb2-5"><a href="#cb2-5" tabindex="-1"></a><span class="fu">browsable</span>(</span>
<span id="cb2-6"><a href="#cb2-6" tabindex="-1"></a> <span class="fu">attachDependencies</span>(</span>
<span id="cb2-7"><a href="#cb2-7" tabindex="-1"></a> <span class="fu">tagList</span>(),</span>
<span id="cb2-8"><a href="#cb2-8" tabindex="-1"></a> <span class="fu">d3_dep_v7</span>()</span>
<span id="cb2-9"><a href="#cb2-9" tabindex="-1"></a> )</span>
<span id="cb2-10"><a href="#cb2-10" tabindex="-1"></a>)</span>
<span id="cb2-11"><a href="#cb2-11" tabindex="-1"></a></span>
<span id="cb2-12"><a href="#cb2-12" tabindex="-1"></a><span class="co"># or include directly in a taglist; I prefer this method.</span></span>
<span id="cb2-13"><a href="#cb2-13" tabindex="-1"></a><span class="fu">browsable</span>(</span>
<span id="cb2-14"><a href="#cb2-14" tabindex="-1"></a> <span class="fu">tagList</span>(</span>
<span id="cb2-15"><a href="#cb2-15" tabindex="-1"></a> <span class="fu">h1</span>(<span class="st">"I have d3 version "</span>, <span class="fu">span</span>(<span class="at">id=</span><span class="st">"version"</span>)),</span>
<span id="cb2-16"><a href="#cb2-16" tabindex="-1"></a> tags<span class="sc">$</span><span class="fu">script</span>(<span class="st">"d3.select('#version').text(d3.version)"</span>),</span>
<span id="cb2-17"><a href="#cb2-17" tabindex="-1"></a> <span class="fu">d3_dep_v7</span>()</span>
<span id="cb2-18"><a href="#cb2-18" tabindex="-1"></a> )</span>
<span id="cb2-19"><a href="#cb2-19" tabindex="-1"></a>)</span></code></pre></div>
<p>Also, I will commit to keeping <code>d3r</code> up-to-date with <code>d3.js</code>, so you’ll no longer need multiple copies of <code>d3.js</code> for your <code>htmlwidgets</code>. If you are a <code>htmlwidget</code> author, you will no longer need to worry every time <code>d3.js</code> gets a new release. See <code>treebar</code> <a href="https://github.com/timelyportfolio/treebar/blob/master/R/treebar.R#L66-L74" class="external-link">lines</a> for an example of using <code>d3r</code> with your <code>htmlwidget</code>.</p>
</div>
<div class="section level3">
<h3 id="d3-hierarchy-from-dataframe">d3 Hierarchy from data.frame<a class="anchor" aria-label="anchor" href="#d3-hierarchy-from-dataframe"></a>
</h3>
<p>Building <code>d3.js</code> hierarchies can be very difficult. <code><a href="reference/d3_nest.html">d3r::d3_nest()</a></code> will convert <code>table</code> and <code>data.frame</code> to a nested <code>d3.js</code> hierarchy ready for work with <a href="https://github.com/d3/d3-hierarchy" class="external-link"><code>d3-hierarchy</code></a>.</p>
<div class="sourceCode" id="cb3"><pre class="sourceCode R"><code class="sourceCode r"><span id="cb3-1"><a href="#cb3-1" tabindex="-1"></a><span class="fu">d3_nest</span>(<span class="fu">as.data.frame</span>(Titanic))</span></code></pre></div>
<p>As another example, let’s go from <code>treemap</code> to <code>d3.js</code>.</p>
<div class="sourceCode" id="cb4"><pre class="sourceCode R"><code class="sourceCode r"><span id="cb4-1"><a href="#cb4-1" tabindex="-1"></a><span class="fu">library</span>(treemap)</span>
<span id="cb4-2"><a href="#cb4-2" tabindex="-1"></a><span class="fu">library</span>(d3r)</span>
<span id="cb4-3"><a href="#cb4-3" tabindex="-1"></a></span>
<span id="cb4-4"><a href="#cb4-4" tabindex="-1"></a><span class="fu">d3_nest</span>(</span>
<span id="cb4-5"><a href="#cb4-5" tabindex="-1"></a> treemap<span class="sc">::</span><span class="fu">random.hierarchical.data</span>(),</span>
<span id="cb4-6"><a href="#cb4-6" tabindex="-1"></a> <span class="at">value_cols =</span> <span class="st">"x"</span></span>
<span id="cb4-7"><a href="#cb4-7" tabindex="-1"></a>)</span></code></pre></div>
</div>
<div class="section level3">
<h3 id="d3-hierarchy-from-partykit--rpart">d3 Hierarchy from partykit / rpart<a class="anchor" aria-label="anchor" href="#d3-hierarchy-from-partykit--rpart"></a>
</h3>
<p><code>rpart</code> and similar objects in <code>R</code> are very difficult to convert but make perfect subjects for <code>d3</code> hierarchical layouts. <code>d3_party</code> helps convert these objects for easy usage with <code>d3.js</code>.</p>
<div class="sourceCode" id="cb5"><pre class="sourceCode R"><code class="sourceCode r"><span id="cb5-1"><a href="#cb5-1" tabindex="-1"></a><span class="co">#devtools::install_github("timelyportfolio/d3treeR")</span></span>
<span id="cb5-2"><a href="#cb5-2" tabindex="-1"></a></span>
<span id="cb5-3"><a href="#cb5-3" tabindex="-1"></a><span class="fu">library</span>(d3treeR)</span>
<span id="cb5-4"><a href="#cb5-4" tabindex="-1"></a><span class="fu">library</span>(d3r)</span>
<span id="cb5-5"><a href="#cb5-5" tabindex="-1"></a></span>
<span id="cb5-6"><a href="#cb5-6" tabindex="-1"></a><span class="co"># example from ?rpart</span></span>
<span id="cb5-7"><a href="#cb5-7" tabindex="-1"></a><span class="fu">data</span>(<span class="st">"kyphosis"</span>, <span class="at">package=</span><span class="st">"rpart"</span>)</span>
<span id="cb5-8"><a href="#cb5-8" tabindex="-1"></a>rp <span class="ot"><-</span> rpart<span class="sc">::</span><span class="fu">rpart</span>(</span>
<span id="cb5-9"><a href="#cb5-9" tabindex="-1"></a> Kyphosis <span class="sc">~</span> Age <span class="sc">+</span> Number <span class="sc">+</span> Start,</span>
<span id="cb5-10"><a href="#cb5-10" tabindex="-1"></a> <span class="at">data =</span> kyphosis</span>
<span id="cb5-11"><a href="#cb5-11" tabindex="-1"></a>)</span>
<span id="cb5-12"><a href="#cb5-12" tabindex="-1"></a></span>
<span id="cb5-13"><a href="#cb5-13" tabindex="-1"></a><span class="co"># get the json hierarchy</span></span>
<span id="cb5-14"><a href="#cb5-14" tabindex="-1"></a><span class="fu">d3_party</span>(<span class="at">tree=</span>rp)</span>
<span id="cb5-15"><a href="#cb5-15" tabindex="-1"></a></span>
<span id="cb5-16"><a href="#cb5-16" tabindex="-1"></a><span class="co"># interactive plot with d3treeR</span></span>
<span id="cb5-17"><a href="#cb5-17" tabindex="-1"></a><span class="fu">d3tree2</span>(</span>
<span id="cb5-18"><a href="#cb5-18" tabindex="-1"></a> <span class="fu">d3_party</span>(<span class="at">tree=</span>rp),</span>
<span id="cb5-19"><a href="#cb5-19" tabindex="-1"></a> <span class="at">celltext=</span><span class="st">"description"</span>,</span>
<span id="cb5-20"><a href="#cb5-20" tabindex="-1"></a> <span class="at">valueField=</span><span class="st">"n"</span></span>
<span id="cb5-21"><a href="#cb5-21" tabindex="-1"></a>)</span></code></pre></div>
</div>
<div class="section level3">
<h3 id="d3-network-from-igraph">d3 Network from igraph<a class="anchor" aria-label="anchor" href="#d3-network-from-igraph"></a>
</h3>
<p><code>igraph</code> to <code>d3.js</code> network of <code>nodes</code> and <code>links</code> is a very common conversion. <code><a href="reference/d3_igraph.html">d3r::d3_igraph</a></code> will do this for you.</p>
<div class="sourceCode" id="cb6"><pre class="sourceCode R"><code class="sourceCode r"><span id="cb6-1"><a href="#cb6-1" tabindex="-1"></a><span class="fu">library</span>(igraph)</span>
<span id="cb6-2"><a href="#cb6-2" tabindex="-1"></a><span class="fu">library</span>(d3r)</span>
<span id="cb6-3"><a href="#cb6-3" tabindex="-1"></a></span>
<span id="cb6-4"><a href="#cb6-4" tabindex="-1"></a><span class="fu">d3_igraph</span>(igraph<span class="sc">::</span><span class="fu">watts.strogatz.game</span>(<span class="dv">1</span>, <span class="dv">50</span>, <span class="dv">4</span>, <span class="fl">0.05</span>))</span></code></pre></div>
</div>
<div class="section level3">
<h3 id="todo">Todo<a class="anchor" aria-label="anchor" href="#todo"></a>
</h3>
<p>I have a whole lot of ideas. Please let me know yours, and let’s make this package great.</p>
</div>
<div class="section level3">
<h3 id="code-of-conduct">Code of Conduct<a class="anchor" aria-label="anchor" href="#code-of-conduct"></a>
</h3>
<p>Please note that this project is released with a <a href="https://github.com/timelyportfolio/d3r/blob/master/CONDUCT.md" class="external-link">Contributor Code of Conduct</a>. By participating in this project you agree to abide by its terms.</p>
</div>
</div>
<div class="col-md-3 hidden-xs hidden-sm" id="pkgdown-sidebar">
<div class="links">
<h2 data-toc-skip>Links</h2>
<ul class="list-unstyled">
<li><a href="https://cloud.r-project.org/package=d3r" class="external-link">View on CRAN</a></li>
<li><a href="https://github.com/timelyportfolio/d3r/" class="external-link">Browse source code</a></li>
<li><a href="https://github.com/timelyportfolio/d3r/issues" class="external-link">Report a bug</a></li>
</ul>
</div>
<div class="license">
<h2 data-toc-skip>License</h2>
<ul class="list-unstyled">
<li>
<a href="https://opensource.org/licenses/BSD-3-Clause" class="external-link">BSD_3_clause</a> + file <a href="LICENSE-text.html">LICENSE</a>
</li>
</ul>
</div>
<div class="citation">
<h2 data-toc-skip>Citation</h2>
<ul class="list-unstyled">
<li><a href="authors.html#citation">Citing d3r</a></li>
</ul>
</div>
<div class="developers">
<h2 data-toc-skip>Developers</h2>
<ul class="list-unstyled">
<li>Mike Bostock <br><small class="roles"> Author, copyright holder </small> </li>
<li>Kent Russell <br><small class="roles"> Author, maintainer, copyright holder </small> </li>
<li>Gregor Aisch <br><small class="roles"> Author, copyright holder </small> </li>
<li>Adam Pearce <br><small class="roles"> Author </small> </li>
<li><a href="authors.html">More about authors...</a></li>
</ul>
</div>
<div class="dev-status">
<h2 data-toc-skip>Dev status</h2>
<ul class="list-unstyled">
<li><a href="https://cran.r-project.org/package=d3r" class="external-link"><img src="http://www.r-pkg.org/badges/version/d3r" alt="CRAN_Status_Badge"></a></li>
<li><a href="https://github.com/timelyportfolio/d3r/actions/workflows/R-CMD-check.yaml" class="external-link"><img src="https://github.com/timelyportfolio/d3r/actions/workflows/R-CMD-check.yaml/badge.svg" alt="R-CMD-check"></a></li>
</ul>
</div>
</div>
</div>
<footer><div class="copyright">
<p></p>
<p>Developed by Mike Bostock, Kent Russell, Gregor Aisch, Adam Pearce.</p>
</div>
<div class="pkgdown">
<p></p>
<p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.0.7.</p>
</div>
</footer>
</div>
</body>
</html>
================================================
FILE: docs/news/index.html
================================================
<!-- Generated by pkgdown: do not edit by hand -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Changelog • d3r</title>
<!-- jquery -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
<!-- Bootstrap -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap.min.css" integrity="sha256-bZLfwXAP04zRMK2BjiO8iu9pf4FbLqX6zitd+tIvLhE=" crossorigin="anonymous" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/js/bootstrap.min.js" integrity="sha256-nuL8/2cJ5NDSSwnKD8VqreErSWHtnEP9E7AySL+1ev4=" crossorigin="anonymous"></script>
<!-- bootstrap-toc -->
<link rel="stylesheet" href="../bootstrap-toc.css">
<script src="../bootstrap-toc.js"></script>
<!-- Font Awesome icons -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/all.min.css" integrity="sha256-mmgLkCYLUQbXn0B1SRqzHar6dCnv9oZFPEC1g1cwlkk=" crossorigin="anonymous" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/v4-shims.min.css" integrity="sha256-wZjR52fzng1pJHwx4aV2AO3yyTOXrcDW7jBpJtTwVxw=" crossorigin="anonymous" />
<!-- clipboard.js -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.6/clipboard.min.js" integrity="sha256-inc5kl9MA1hkeYUt+EC3BhlIgyp/2jDIyBLS6k3UxPI=" crossorigin="anonymous"></script>
<!-- headroom.js -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/headroom.min.js" integrity="sha256-AsUX4SJE1+yuDu5+mAVzJbuYNPHj/WroHuZ8Ir/CkE0=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script>
<!-- pkgdown -->
<link href="../pkgdown.css" rel="stylesheet">
<script src="../pkgdown.js"></script>
<meta property="og:title" content="Changelog" />
<!-- mathjax -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script>
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body data-spy="scroll" data-target="#toc">
<div class="container template-news">
<header>
<div class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<span class="navbar-brand">
<a class="navbar-link" href="../index.html">d3r</a>
<span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">1.0.0</span>
</span>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li>
<a href="../index.html">
<span class="fas fa-home fa-lg"></span>
</a>
</li>
<li>
<a href="../reference/index.html">Reference</a>
</li>
<li>
<a href="../news/index.html">Changelog</a>
</li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li>
<a href="https://github.com/timelyportfolio/d3r/">
<span class="fab fa-github fa-lg"></span>
</a>
</li>
</ul>
</div><!--/.nav-collapse -->
</div><!--/.container -->
</div><!--/.navbar -->
</header>
<div class="row">
<div class="col-md-9 contents">
<div class="page-header">
<h1 data-toc-skip>Changelog <small></small></h1>
<small>Source: <a href='https://github.com/timelyportfolio/d3r/blob/master/NEWS.md'><code>NEWS.md</code></a></small>
</div>
<div id="d3r-100" class="section level1">
<h1 class="page-header" data-toc-text="1.0.0">
<a href="#d3r-100" class="anchor"></a>d3r 1.0.0<small> Unreleased </small>
</h1>
<ul>
<li>add d3 version <a href="https://github.com/d3/d3/releases/tag/v7.0.0"><code>7.0.0</code></a> dependency function <code><a href="../reference/d3_dep_v7.html">d3_dep_v7()</a></code>
</li>
<li>update d3 version <a href="https://github.com/d3/d3/releases/tag/v6.7.0"><code>6.7.0</code></a> in dependency function <code><a href="../reference/d3_dep_v6.html">d3_dep_v6()</a></code>
</li>
</ul>
</div>
<div id="d3r-091" class="section level1">
<h1 class="page-header" data-toc-text="0.9.1">
<a href="#d3r-091" class="anchor"></a>d3r 0.9.1<small> 2020-11-20 </small>
</h1>
<ul>
<li>add d3 version <a href="https://github.com/d3/d3/releases/tag/v6.2.0"><code>6.2.0</code></a> dependency function <code><a href="../reference/d3_dep_v6.html">d3_dep_v6()</a></code>
</li>
</ul>
</div>
<div id="d3r-090" class="section level1">
<h1 class="page-header" data-toc-text="0.9.0">
<a href="#d3r-090" class="anchor"></a>d3r 0.9.0<small> 2020-05-25 </small>
</h1>
<ul>
<li>remove use of <code>nest_</code> in <code>d3_party</code>
</li>
<li>upgrade d3v5 to <a href="https://github.com/d3/d3/releases/tag/v5.16.0"><code>5.16.0</code></a>
</li>
</ul>
</div>
<div id="d3r-087" class="section level1">
<h1 class="page-header" data-toc-text="0.8.7">
<a href="#d3r-087" class="anchor"></a>d3r 0.8.7<small> 2019-08-21 </small>
</h1>
<ul>
<li>work with new and old <code>tidyr</code> syntax</li>
<li>upgrade d3v5 to <a href="https://github.com/d3/d3/releases/tag/v5.10.0"><code>5.10.0</code></a>
</li>
</ul>
</div>
<div id="d3r-086" class="section level1">
<h1 class="page-header" data-toc-text="0.8.6">
<a href="#d3r-086" class="anchor"></a>d3r 0.8.6<small> 2019-07-23 </small>
</h1>
<ul>
<li>update d3v5 to <a href="https://github.com/d3/d3/releases/tag/v5.9.7"><code>5.9.7</code></a>
</li>
</ul>
</div>
<div id="d3r-085" class="section level1">
<h1 class="page-header" data-toc-text="0.8.5">
<a href="#d3r-085" class="anchor"></a>d3r 0.8.5<small> 2019-01-29 </small>
</h1>
<ul>
<li>update d3v5 to <a href="https://github.com/d3/d3/releases/tag/v5.8.0"><code>5.8.0</code></a>
</li>
</ul>
</div>
<div id="d3r-084" class="section level1">
<h1 class="page-header" data-toc-text="0.8.4">
<a href="#d3r-084" class="anchor"></a>d3r 0.8.4<small> 2018-10-24 </small>
</h1>
<ul>
<li>update d3v5 to <a href="https://github.com/d3/d3/releases/tag/v5.7.0"><code>5.7.0</code></a>
</li>
</ul>
</div>
<div id="d3r-083" class="section level1">
<h1 class="page-header" data-toc-text="0.8.3">
<a href="#d3r-083" class="anchor"></a>d3r 0.8.3<small> 2018-08-04 </small>
</h1>
<ul>
<li>fix extra slash in offline dependencies</li>
</ul>
</div>
<div id="d3r-082" class="section level1">
<h1 class="page-header" data-toc-text="0.8.2">
<a href="#d3r-082" class="anchor"></a>d3r 0.8.2<small> 2018-07-01 </small>
</h1>
<ul>
<li>update d3v5 to <a href="https://github.com/d3/d3/releases/tag/v5.5.0"><code>5.5.0</code></a>
</li>
<li>add httr to Suggests to resolve CRAN issue</li>
</ul>
</div>
<div id="d3r-081" class="section level1">
<h1 class="page-header" data-toc-text="0.8.1">
<a href="#d3r-081" class="anchor"></a>d3r 0.8.1<small> 2018-04-24 </small>
</h1>
<ul>
<li>add d3v5 for d3 <a href="https://github.com/d3/d3/releases/tag/v5.1.0"><code>5.1.0</code></a>
</li>
</ul>
</div>
<div id="d3r-080" class="section level1">
<h1 class="page-header" data-toc-text="0.8.0">
<a href="#d3r-080" class="anchor"></a>d3r 0.8.0<small> 2018-03-17 </small>
</h1>
<ul>
<li>add d3v5 for d3 <a href="https://github.com/d3/d3/releases/tag/v5.0.0"><code>5.0.0-rc4</code></a>
</li>
<li>update d3v4 to <a href="https://github.com/d3/d3/releases/tag/v4.13.0"><code>4.13.0</code></a>
</li>
</ul>
</div>
<div id="d3r-071" class="section level1">
<h1 class="page-header" data-toc-text="0.7.1">
<a href="#d3r-071" class="anchor"></a>d3r 0.7.1<small> 2017-11-22 </small>
</h1>
<ul>
<li>update d3v4 to <a href="https://github.com/d3/d3/releases/tag/v4.12.0"><code>4.12.0</code></a>
</li>
</ul>
</div>
<div id="d3r-070" class="section level1">
<h1 class="page-header" data-toc-text="0.7.0">
<a href="#d3r-070" class="anchor"></a>d3r 0.7.0<small> 2017-10-11 </small>
</h1>
<ul>
<li>update d3v4 to <a href="https://github.com/d3/d3/releases/tag/v4.11.0"><code>4.11.0</code></a>
</li>
<li>update d3-jetpack to 2.0.9</li>
</ul>
</div>
<div id="d3r-069" class="section level1">
<h1 class="page-header" data-toc-text="0.6.9">
<a href="#d3r-069" class="anchor"></a>d3r 0.6.9<small> 2017-08-21 </small>
</h1>
<div id="updates" class="section level3">
<h3 class="hasAnchor">
<a href="#updates" class="anchor"></a>Updates</h3>
<ul>
<li>modify <code><a href="../reference/d3_nest.html">d3_nest()</a></code> to work with new tidyr.</li>
</ul>
</div>
</div>
<div id="d3r-068" class="section level1">
<h1 class="page-header" data-toc-text="0.6.8">
<a href="#d3r-068" class="anchor"></a>d3r 0.6.8<small> 2017-08-13 </small>
</h1>
<div id="updates-1" class="section level3">
<h3 class="hasAnchor">
<a href="#updates-1" class="anchor"></a>Updates</h3>
<ul>
<li><p><code><a href="../reference/d3_dep_jetpack.html">d3_dep_jetpack()</a></code> added. Essentially the same as d3_dep_v4(), but with a number of convenience functions added. Learn more by checking out the <a href="https://github.com/gka/d3-jetpack">d3-jetpack github page</a>.</p></li>
<li><p>update d3v4 to <a href="https://github.com/d3/d3/releases/tag/v4.10.0"><code>4.10.0</code></a></p></li>
</ul>
</div>
</div>
<div id="d3r-067" class="section level1">
<h1 class="page-header" data-toc-text="0.6.7">
<a href="#d3r-067" class="anchor"></a>d3r 0.6.7<small> Unreleased </small>
</h1>
<div id="api-changes" class="section level3">
<h3 class="hasAnchor">
<a href="#api-changes" class="anchor"></a>API Changes</h3>
<ul>
<li><p><strong>(BREAKING)</strong> d3_table weight column is now named value to be consistent with the newest d3-sankey plugin <a href="https://github.com/timelyportfolio/d3r/commit/65b913322f1a6c71db21496f158bb0bed645a1f6">commit</a>.</p></li>
<li><p>Use unpkg.com for online dependencies</p></li>
</ul>
</div>
</div>
<div id="d3r-066" class="section level1">
<h1 class="page-header" data-toc-text="0.6.6">
<a href="#d3r-066" class="anchor"></a>d3r 0.6.6<small> 2017-06-27 </small>
</h1>
<div id="updates-2" class="section level3">
<h3 class="hasAnchor">
<a href="#updates-2" class="anchor"></a>Updates</h3>
<ul>
<li>add d3_table() function to convert R table into list of a nodes data.frame and a links data.frame modelled after <a href="https://gist.github.com/timelyportfolio/3616869996703d48a981">example</a>
</li>
</ul>
</div>
</div>
<div id="d3r-065" class="section level1">
<h1 class="page-header" data-toc-text="0.6.5">
<a href="#d3r-065" class="anchor"></a>d3r 0.6.5<small> 2017-05-21 </small>
</h1>
<div id="updates-3" class="section level3">
<h3 class="hasAnchor">
<a href="#updates-3" class="anchor"></a>Updates</h3>
<ul>
<li>update d3v4 to <a href="https://github.com/d3/d3/releases/tag/v4.9.1"><code>4.9.1</code></a>
</li>
</ul>
</div>
</div>
<div id="d3r-064" class="section level1">
<h1 class="page-header" data-toc-text="0.6.4">
<a href="#d3r-064" class="anchor"></a>d3r 0.6.4<small> 2017-04-27 </small>
</h1>
<div id="bug-fix" class="section level3">
<h3 class="hasAnchor">
<a href="#bug-fix" class="anchor"></a>Bug Fix</h3>
<ul>
<li>d3_nest would fail with certain hierarchies that had multiple NA level; fix only takes first na_child since non-first children will be duplicates (see <a href="https://github.com/timelyportfolio/d3r/commit/1529acad5230207e3b4711202509bc5e9411076b">commit</a>)</li>
</ul>
</div>
</div>
<div id="d3r-063" class="section level1">
<h1 class="page-header" data-toc-text="0.6.3">
<a href="#d3r-063" class="anchor"></a>d3r 0.6.3<small> 2017-04-18 </small>
</h1>
<div id="updates-4" class="section level3">
<h3 class="hasAnchor">
<a href="#updates-4" class="anchor"></a>Updates</h3>
<ul>
<li>update d3v4 to <a href="https://github.com/d3/d3/releases/tag/v4.8.0"><code>4.8.0</code></a>
</li>
<li>test with development <code>dplyr</code>
</li>
</ul>
</div>
</div>
<div id="d3r-062" class="section level1">
<h1 class="page-header" data-toc-text="0.6.2">
<a href="#d3r-062" class="anchor"></a>d3r 0.6.2<small> 2017-03-02 </small>
</h1>
<div id="updates-5" class="section level3">
<h3 class="hasAnchor">
<a href="#updates-5" class="anchor"></a>Updates</h3>
<ul>
<li>update d3v4 to <a href="https://github.com/d3/d3/releases/tag/v4.6.0"><code>4.6.0</code></a>
</li>
<li>add <code><a href="../reference/d3_v8.html">d3_v8()</a></code> convenience function to return <code>V8</code> context with d3.js loaded</li>
</ul>
</div>
</div>
<div id="d3r-061" class="section level1">
<h1 class="page-header" data-toc-text="0.6.1">
<a href="#d3r-061" class="anchor"></a>d3r 0.6.1<small> 2017-02-03 </small>
</h1>
<div id="updates-6" class="section level3">
<h3 class="hasAnchor">
<a href="#updates-6" class="anchor"></a>Updates</h3>
<ul>
<li>update d3v4 to <a href="https://github.com/d3/d3/releases/tag/v4.4.4"><code>4.4.4</code></a>
</li>
</ul>
</div>
</div>
<div id="d3r-060" class="section level1">
<h1 class="page-header" data-toc-text="0.6.0">
<a href="#d3r-060" class="anchor"></a>d3r 0.6.0<small> 2016-12-13 </small>
</h1>
<div id="updates-7" class="section level3">
<h3 class="hasAnchor">
<a href="#updates-7" class="anchor"></a>Updates</h3>
<ul>
<li><p>add <code>colname</code> to return value (see <a href="https://github.com/timelyportfolio/d3r/commit/5787e03a6b59c89b367a88f16e9c5a899482a8d3">commit</a>)</p></li>
<li><p>improve <code>NA</code> child promotion for deeply nested hierarchies</p></li>
</ul>
</div>
<div id="api-changes-1" class="section level3">
<h3 class="hasAnchor">
<a href="#api-changes-1" class="anchor"></a>API Changes</h3>
<ul>
<li>
<strong>(BREAKING)</strong> change <code>id</code> to <code>name</code> (see <a href="https://github.com/timelyportfolio/d3r/issues/10">issue</a>)</li>
</ul>
</div>
</div>
<div id="d3r-050" class="section level1">
<h1 class="page-header" data-toc-text="0.5.0">
<a href="#d3r-050" class="anchor"></a>d3r 0.5.0<small> 2016-11-23 </small>
</h1>
<div id="updates-8" class="section level3">
<h3 class="hasAnchor">
<a href="#updates-8" class="anchor"></a>Updates</h3>
<ul>
<li>update d3 to <a href="https://github.com/d3/d3/releases/tag/v4.4.0">4.4.0</a>
</li>
</ul>
</div>
<div id="api-changes-2" class="section level3">
<h3 class="hasAnchor">
<a href="#api-changes-2" class="anchor"></a>API Changes</h3>
<ul>
<li>(non-breaking) add offline argument to d3_dep_v3 and d3_dep_v4</li>
</ul>
</div>
</div>
<div id="d3r-042" class="section level1">
<h1 class="page-header" data-toc-text="0.4.2">
<a href="#d3r-042" class="anchor"></a>d3r 0.4.2<small> Unreleased </small>
</h1>
<ul>
<li>CRAN release</li>
</ul>
</div>
</div>
<div class="col-md-3 hidden-xs hidden-sm" id="pkgdown-sidebar">
<nav id="toc" data-toggle="toc" class="sticky-top">
<h2 data-toc-skip>Contents</h2>
</nav>
</div>
</div>
<footer>
<div class="copyright">
<p>Developed by Mike Bostock, Kent Russell, Gregor Aisch, Adam Pearce.</p>
</div>
<div class="pkgdown">
<p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.6.1.</p>
</div>
</footer>
</div>
</body>
</html>
================================================
FILE: docs/pkgdown.css
================================================
/* Sticky footer */
/**
* Basic idea: https://philipwalton.github.io/solved-by-flexbox/demos/sticky-footer/
* Details: https://github.com/philipwalton/solved-by-flexbox/blob/master/assets/css/components/site.css
*
* .Site -> body > .container
* .Site-content -> body > .container .row
* .footer -> footer
*
* Key idea seems to be to ensure that .container and __all its parents__
* have height set to 100%
*
*/
html, body {
height: 100%;
}
body {
position: relative;
}
body > .container {
display: flex;
height: 100%;
flex-direction: column;
}
body > .container .row {
flex: 1 0 auto;
}
footer {
margin-top: 45px;
padding: 35px 0 36px;
border-top: 1px solid #e5e5e5;
color: #666;
display: flex;
flex-shrink: 0;
}
footer p {
margin-bottom: 0;
}
footer div {
flex: 1;
}
footer .pkgdown {
text-align: right;
}
footer p {
margin-bottom: 0;
}
img.icon {
float: right;
}
/* Ensure in-page images don't run outside their container */
.contents img {
max-width: 100%;
height: auto;
}
/* Fix bug in bootstrap (only seen in firefox) */
summary {
display: list-item;
}
/* Typographic tweaking ---------------------------------*/
.contents .page-header {
margin-top: calc(-60px + 1em);
}
dd {
margin-left: 3em;
}
/* Section anchors ---------------------------------*/
a.anchor {
display: none;
margin-left: 5px;
width: 20px;
height: 20px;
background-image: url(./link.svg);
background-repeat: no-repeat;
background-size: 20px 20px;
background-position: center center;
}
h1:hover .anchor,
h2:hover .anchor,
h3:hover .anchor,
h4:hover .anchor,
h5:hover .anchor,
h6:hover .anchor {
display: inline-block;
}
/* Fixes for fixed navbar --------------------------*/
.contents h1, .contents h2, .contents h3, .contents h4 {
padding-top: 60px;
margin-top: -40px;
}
/* Navbar submenu --------------------------*/
.dropdown-submenu {
position: relative;
}
.dropdown-submenu>.dropdown-menu {
top: 0;
left: 100%;
margin-top: -6px;
margin-left: -1px;
border-radius: 0 6px 6px 6px;
}
.dropdown-submenu:hover>.dropdown-menu {
display: block;
}
.dropdown-submenu>a:after {
display: block;
content: " ";
float: right;
width: 0;
height: 0;
border-color: transparent;
border-style: solid;
border-width: 5px 0 5px 5px;
border-left-color: #cccccc;
margin-top: 5px;
margin-right: -10px;
}
.dropdown-submenu:hover>a:after {
border-left-color: #ffffff;
}
.dropdown-submenu.pull-left {
float: none;
}
.dropdown-submenu.pull-left>.dropdown-menu {
left: -100%;
margin-left: 10px;
border-radius: 6px 0 6px 6px;
}
/* Sidebar --------------------------*/
#pkgdown-sidebar {
margin-top: 30px;
position: -webkit-sticky;
position: sticky;
top: 70px;
}
#pkgdown-sidebar h2 {
font-size: 1.5em;
margin-top: 1em;
}
#pkgdown-sidebar h2:first-child {
margin-top: 0;
}
#pkgdown-sidebar .list-unstyled li {
margin-bottom: 0.5em;
}
/* bootstrap-toc tweaks ------------------------------------------------------*/
/* All levels of nav */
nav[data-toggle='toc'] .nav > li > a {
padding: 4px 20px 4px 6px;
font-size: 1.5rem;
font-weight: 400;
color: inherit;
}
nav[data-toggle='toc'] .nav > li > a:hover,
nav[data-toggle='toc'] .nav > li > a:focus {
padding-left: 5px;
color: inherit;
border-left: 1px solid #878787;
}
nav[data-toggle='toc'] .nav > .active > a,
nav[data-toggle='toc'] .nav > .active:hover > a,
nav[data-toggle='toc'] .nav > .active:focus > a {
padding-left: 5px;
font-size: 1.5rem;
font-weight: 400;
color: inherit;
border-left: 2px solid #878787;
}
/* Nav: second level (shown on .active) */
nav[data-toggle='toc'] .nav .nav {
display: none; /* Hide by default, but at >768px, show it */
padding-bottom: 10px;
}
nav[data-toggle='toc'] .nav .nav > li > a {
padding-left: 16px;
font-size: 1.35rem;
}
nav[data-toggle='toc'] .nav .nav > li > a:hover,
nav[data-toggle='toc'] .nav .nav > li > a:focus {
padding-left: 15px;
}
nav[data-toggle='toc'] .nav .nav > .active > a,
nav[data-toggle='toc'] .nav .nav > .active:hover > a,
nav[data-toggle='toc'] .nav .nav > .active:focus > a {
padding-left: 15px;
font-weight: 500;
font-size: 1.35rem;
}
/* orcid ------------------------------------------------------------------- */
.orcid {
font-size: 16px;
color: #A6CE39;
/* margins are required by official ORCID trademark and display guidelines */
margin-left:4px;
margin-right:4px;
vertical-align: middle;
}
/* Reference index & topics ----------------------------------------------- */
.ref-index th {font-weight: normal;}
.ref-index td {vertical-align: top; min-width: 100px}
.ref-index .icon {width: 40px;}
.ref-index .alias {width: 40%;}
.ref-index-icons .alias {width: calc(40% - 40px);}
.ref-index .title {width: 60%;}
.ref-arguments th {text-align: right; padding-right: 10px;}
.ref-arguments th, .ref-arguments td {vertical-align: top; min-width: 100px}
.ref-arguments .name {width: 20%;}
.ref-arguments .desc {width: 80%;}
/* Nice scrolling for wide elements --------------------------------------- */
table {
display: block;
overflow: auto;
}
/* Syntax highlighting ---------------------------------------------------- */
pre, code, pre code {
background-color: #f8f8f8;
color: #333;
}
pre, pre code {
white-space: pre-wrap;
word-break: break-all;
overflow-wrap: break-word;
}
pre {
border: 1px solid #eee;
}
pre .img, pre .r-plt {
margin: 5px 0;
}
pre .img img, pre .r-plt img {
background-color: #fff;
}
code a, pre a {
color: #375f84;
}
a.sourceLine:hover {
text-decoration: none;
}
.fl {color: #1514b5;}
.fu {color: #000000;} /* function */
.ch,.st {color: #036a07;} /* string */
.kw {color: #264D66;} /* keyword */
.co {color: #888888;} /* comment */
.error {font-weight: bolder;}
.warning {font-weight: bolder;}
/* Clipboard --------------------------*/
.hasCopyButton {
position: relative;
}
.btn-copy-ex {
position: absolute;
right: 0;
top: 0;
visibility: hidden;
}
.hasCopyButton:hover button.btn-copy-ex {
visibility: visible;
}
/* headroom.js ------------------------ */
.headroom {
will-change: transform;
transition: transform 200ms linear;
}
.headroom--pinned {
transform: translateY(0%);
}
.headroom--unpinned {
transform: translateY(-100%);
}
/* mark.js ----------------------------*/
mark {
background-color: rgba(255, 255, 51, 0.5);
border-bottom: 2px solid rgba(255, 153, 51, 0.3);
padding: 1px;
}
/* vertical spacing after htmlwidgets */
.html-widget {
margin-bottom: 10px;
}
/* fontawesome ------------------------ */
.fab {
font-family: "Font Awesome 5 Brands" !important;
}
/* don't display links in code chunks when printing */
/* source: https://stackoverflow.com/a/10781533 */
@media print {
code a:link:after, code a:visited:after {
content: "";
}
}
/* Section anchors ---------------------------------
Added in pandoc 2.11: https://github.com/jgm/pandoc-templates/commit/9904bf71
*/
div.csl-bib-body { }
div.csl-entry {
clear: both;
}
.hanging-indent div.csl-entry {
margin-left:2em;
text-indent:-2em;
}
div.csl-left-margin {
min-width:2em;
float:left;
}
div.csl-right-inline {
margin-left:2em;
padding-left:1em;
}
div.csl-indent {
margin-left: 2em;
}
================================================
FILE: docs/pkgdown.js
================================================
/* http://gregfranko.com/blog/jquery-best-practices/ */
(function($) {
$(function() {
$('.navbar-fixed-top').headroom();
$('body').css('padding-top', $('.navbar').height() + 10);
$(window).resize(function(){
$('body').css('padding-top', $('.navbar').height() + 10);
});
$('[data-toggle="tooltip"]').tooltip();
var cur_path = paths(location.pathname);
var links = $("#navbar ul li a");
var max_length = -1;
var pos = -1;
for (var i = 0; i < links.length; i++) {
if (links[i].getAttribute("href") === "#")
continue;
// Ignore external links
if (links[i].host !== location.host)
continue;
var nav_path = paths(links[i].pathname);
var length = prefix_length(nav_path, cur_path);
if (length > max_length) {
max_length = length;
pos = i;
}
}
// Add class to parent <li>, and enclosing <li> if in dropdown
if (pos >= 0) {
var menu_anchor = $(links[pos]);
menu_anchor.parent().addClass("active");
menu_anchor.closest("li.dropdown").addClass("active");
}
});
function paths(pathname) {
var pieces = pathname.split("/");
pieces.shift(); // always starts with /
var end = pieces[pieces.length - 1];
if (end === "index.html" || end === "")
pieces.pop();
return(pieces);
}
// Returns -1 if not found
function prefix_length(needle, haystack) {
if (needle.length > haystack.length)
return(-1);
// Special case for length-0 haystack, since for loop won't run
if (haystack.length === 0) {
return(needle.length === 0 ? 0 : -1);
}
for (var i = 0; i < haystack.length; i++) {
if (needle[i] != haystack[i])
return(i);
}
return(haystack.length);
}
/* Clipboard --------------------------*/
function changeTooltipMessage(element, msg) {
var tooltipOriginalTitle=element.getAttribute('data-original-title');
element.setAttribute('data-original-title', msg);
$(element).tooltip('show');
element.setAttribute('data-original-title', tooltipOriginalTitle);
}
if(ClipboardJS.isSupported()) {
$(document).ready(function() {
var copyButton = "<button type='button' class='btn btn-primary btn-copy-ex' type = 'submit' title='Copy to clipboard' aria-label='Copy to clipboard' data-toggle='tooltip' data-placement='left auto' data-trigger='hover' data-clipboard-copy><i class='fa fa-copy'></i></button>";
$("div.sourceCode").addClass("hasCopyButton");
// Insert copy buttons:
$(copyButton).prependTo(".hasCopyButton");
// Initialize tooltips:
$('.btn-copy-ex').tooltip({container: 'body'});
// Initialize clipboard:
var clipboardBtnCopies = new ClipboardJS('[data-clipboard-copy]', {
text: function(trigger) {
return trigger.parentNode.textContent.replace(/\n#>[^\n]*/g, "");
}
});
clipboardBtnCopies.on('success', function(e) {
changeTooltipMessage(e.trigger, 'Copied!');
e.clearSelection();
});
clipboardBtnCopies.on('error', function() {
changeTooltipMessage(e.trigger,'Press Ctrl+C or Command+C to copy');
});
});
}
})(window.jQuery || window.$)
================================================
FILE: docs/pkgdown.yml
================================================
pandoc: 3.1.8
pkgdown: 2.0.7
pkgdown_sha: ~
articles: {}
last_built: 2023-10-02T01:36Z
================================================
FILE: docs/reference/change_to_name.html
================================================
<!DOCTYPE html>
<!-- Generated by pkgdown: do not edit by hand --><html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Change Column Name in Children to "name" — change_to_name • d3r</title><!-- jquery --><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script><!-- Bootstrap --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap.min.css" integrity="sha256-bZLfwXAP04zRMK2BjiO8iu9pf4FbLqX6zitd+tIvLhE=" crossorigin="anonymous"><script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/js/bootstrap.min.js" integrity="sha256-nuL8/2cJ5NDSSwnKD8VqreErSWHtnEP9E7AySL+1ev4=" crossorigin="anonymous"></script><!-- bootstrap-toc --><link rel="stylesheet" href="../bootstrap-toc.css"><script src="../bootstrap-toc.js"></script><!-- Font Awesome icons --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/all.min.css" integrity="sha256-mmgLkCYLUQbXn0B1SRqzHar6dCnv9oZFPEC1g1cwlkk=" crossorigin="anonymous"><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/v4-shims.min.css" integrity="sha256-wZjR52fzng1pJHwx4aV2AO3yyTOXrcDW7jBpJtTwVxw=" crossorigin="anonymous"><!-- clipboard.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.6/clipboard.min.js" integrity="sha256-inc5kl9MA1hkeYUt+EC3BhlIgyp/2jDIyBLS6k3UxPI=" crossorigin="anonymous"></script><!-- headroom.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/headroom.min.js" integrity="sha256-AsUX4SJE1+yuDu5+mAVzJbuYNPHj/WroHuZ8Ir/CkE0=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script><!-- pkgdown --><link href="../pkgdown.css" rel="stylesheet"><script src="../pkgdown.js"></script><meta property="og:title" content="Change Column Name in Children to " name change_to_name><meta property="og:description" content='Change Column Name in Children to "name"'><!-- mathjax --><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script><!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]--></head><body data-spy="scroll" data-target="#toc">
<div class="container template-reference-topic">
<header><div class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<span class="navbar-brand">
<a class="navbar-link" href="../index.html">d3r</a>
<span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="">1.1.0</span>
</span>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav"><li>
<a href="../reference/index.html">Reference</a>
</li>
<li>
<a href="../news/index.html">Changelog</a>
</li>
</ul><ul class="nav navbar-nav navbar-right"><li>
<a href="https://github.com/timelyportfolio/d3r/" class="external-link">
<span class="fab fa-github fa-lg"></span>
</a>
</li>
</ul></div><!--/.nav-collapse -->
</div><!--/.container -->
</div><!--/.navbar -->
</header><div class="row">
<div class="col-md-9 contents">
<div class="page-header">
<h1>Change Column Name in Children to "name"</h1>
<small class="dont-index">Source: <a href="https://github.com/timelyportfolio/d3r/blob/HEAD/R/hierarchy.R" class="external-link"><code>R/hierarchy.R</code></a></small>
<div class="hidden name"><code>change_to_name.Rd</code></div>
</div>
<div class="ref-description">
<p>Change Column Name in Children to "name"</p>
</div>
<div id="ref-usage">
<div class="sourceCode"><pre class="sourceCode r"><code><span><span class="fu">change_to_name</span><span class="op">(</span><span class="va">x</span>, column <span class="op">=</span> <span class="fl">1</span><span class="op">)</span></span></code></pre></div>
</div>
<div id="arguments">
<h2>Arguments</h2>
<dl><dt>x</dt>
<dd><p><code>data.frame</code> or <code>data.frame</code> derivative, such
as <code>tibble</code></p></dd>
<dt>column</dt>
<dd><p>column to convert</p></dd>
</dl></div>
<div id="value">
<h2>Value</h2>
<p><code>data.frame</code></p>
</div>
</div>
<div class="col-md-3 hidden-xs hidden-sm" id="pkgdown-sidebar">
<nav id="toc" data-toggle="toc" class="sticky-top"><h2 data-toc-skip>Contents</h2>
</nav></div>
</div>
<footer><div class="copyright">
<p></p><p>Developed by Mike Bostock, Kent Russell, Gregor Aisch, Adam Pearce.</p>
</div>
<div class="pkgdown">
<p></p><p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.0.7.</p>
</div>
</footer></div>
</body></html>
================================================
FILE: docs/reference/d3_dep_jetpack.html
================================================
<!DOCTYPE html>
<!-- Generated by pkgdown: do not edit by hand --><html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>'d3.js' Dependency for Version 4 Jetpack — d3_dep_jetpack • d3r</title><!-- jquery --><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script><!-- Bootstrap --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap.min.css" integrity="sha256-bZLfwXAP04zRMK2BjiO8iu9pf4FbLqX6zitd+tIvLhE=" crossorigin="anonymous"><script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/js/bootstrap.min.js" integrity="sha256-nuL8/2cJ5NDSSwnKD8VqreErSWHtnEP9E7AySL+1ev4=" crossorigin="anonymous"></script><!-- bootstrap-toc --><link rel="stylesheet" href="../bootstrap-toc.css"><script src="../bootstrap-toc.js"></script><!-- Font Awesome icons --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/all.min.css" integrity="sha256-mmgLkCYLUQbXn0B1SRqzHar6dCnv9oZFPEC1g1cwlkk=" crossorigin="anonymous"><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/v4-shims.min.css" integrity="sha256-wZjR52fzng1pJHwx4aV2AO3yyTOXrcDW7jBpJtTwVxw=" crossorigin="anonymous"><!-- clipboard.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.6/clipboard.min.js" integrity="sha256-inc5kl9MA1hkeYUt+EC3BhlIgyp/2jDIyBLS6k3UxPI=" crossorigin="anonymous"></script><!-- headroom.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/headroom.min.js" integrity="sha256-AsUX4SJE1+yuDu5+mAVzJbuYNPHj/WroHuZ8Ir/CkE0=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script><!-- pkgdown --><link href="../pkgdown.css" rel="stylesheet"><script src="../pkgdown.js"></script><meta property="og:title" content="'d3.js' Dependency for Version 4 Jetpack — d3_dep_jetpack"><meta property="og:description" content="d3-jetpack is a set of nifty convenience wrappers that speed up
your daily work with d3.js. Must be included after d3_dep_v4().
Learn more by reading d3-jetpack
or by watching this YouTube."><!-- mathjax --><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script><!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]--></head><body data-spy="scroll" data-target="#toc">
<div class="container template-reference-topic">
<header><div class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<span class="navbar-brand">
<a class="navbar-link" href="../index.html">d3r</a>
<span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="">1.0.1</span>
</span>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav"><li>
<a href="../reference/index.html">Reference</a>
</li>
<li>
<a href="../news/index.html">Changelog</a>
</li>
</ul><ul class="nav navbar-nav navbar-right"><li>
<a href="https://github.com/timelyportfolio/d3r/" class="external-link">
<span class="fab fa-github fa-lg"></span>
</a>
</li>
</ul></div><!--/.nav-collapse -->
</div><!--/.container -->
</div><!--/.navbar -->
</header><div class="row">
<div class="col-md-9 contents">
<div class="page-header">
<h1>'d3.js' Dependency for Version 4 Jetpack</h1>
<small class="dont-index">Source: <a href="https://github.com/timelyportfolio/d3r/blob/HEAD/R/dependencies.R" class="external-link"><code>R/dependencies.R</code></a></small>
<div class="hidden name"><code>d3_dep_jetpack.Rd</code></div>
</div>
<div class="ref-description">
<p>d3-jetpack is a set of nifty convenience wrappers that speed up
your daily work with d3.js. Must be included after <code><a href="d3_dep_v4.html">d3_dep_v4()</a></code>.
Learn more by reading <a href="https://github.com/gka/d3-jetpack" class="external-link">d3-jetpack</a>
or by watching this <a href="https://www.youtube.com/watch?v=_5ky0AYq_Dg&t=4s" class="external-link">YouTube</a>.</p>
</div>
<div id="ref-usage">
<div class="sourceCode"><pre class="sourceCode r"><code><span><span class="fu">d3_dep_jetpack</span><span class="op">(</span>offline <span class="op">=</span> <span class="cn">TRUE</span><span class="op">)</span></span></code></pre></div>
</div>
<div id="arguments">
<h2>Arguments</h2>
<dl><dt>offline</dt>
<dd><p><code>logical</code> to specify whether to use
a local copy of d3.js (<code>TRUE</code>) or use cdn (<code>FALSE</code>)</p></dd>
</dl></div>
<div id="value">
<h2>Value</h2>
<p><code><a href="https://rstudio.github.io/htmltools/reference/htmlDependency.html" class="external-link">htmltools::htmlDependency</a></code></p>
</div>
<div id="see-also">
<h2>See also</h2>
<div class="dont-index"><p>Other 'd3' dependency functions:
<code><a href="d3_dep_v3.html">d3_dep_v3</a>()</code>,
<code><a href="d3_dep_v4.html">d3_dep_v4</a>()</code>,
<code><a href="d3_dep_v5.html">d3_dep_v5</a>()</code>,
<code><a href="d3_dep_v6.html">d3_dep_v6</a>()</code>,
<code><a href="d3_dep_v7.html">d3_dep_v7</a>()</code></p></div>
</div>
<div id="ref-examples">
<h2>Examples</h2>
<div class="sourceCode"><pre class="sourceCode r"><code><span class="r-in"><span><span class="kw">if</span> <span class="op">(</span><span class="cn">FALSE</span><span class="op">)</span> <span class="op">{</span></span></span>
<span class="r-in"><span></span></span>
<span class="r-in"><span><span class="kw"><a href="https://rdrr.io/r/base/library.html" class="external-link">library</a></span><span class="op">(</span><span class="va"><a href="https://github.com/timelyportfolio/d3r" class="external-link">d3r</a></span><span class="op">)</span></span></span>
<span class="r-in"><span><span class="kw"><a href="https://rdrr.io/r/base/library.html" class="external-link">library</a></span><span class="op">(</span><span class="va"><a href="https://github.com/rstudio/htmltools" class="external-link">htmltools</a></span><span class="op">)</span></span></span>
<span class="r-in"><span></span></span>
<span class="r-in"><span><span class="va">tl</span> <span class="op"><-</span> <span class="fu"><a href="https://rstudio.github.io/htmltools/reference/tagList.html" class="external-link">tagList</a></span><span class="op">(</span><span class="va">tags</span><span class="op">$</span><span class="fu">script</span><span class="op">(</span><span class="fu"><a href="https://rstudio.github.io/htmltools/reference/HTML.html" class="external-link">HTML</a></span><span class="op">(</span><span class="fu"><a href="https://rdrr.io/r/base/sprintf.html" class="external-link">sprintf</a></span><span class="op">(</span></span></span>
<span class="r-in"><span><span class="st">"</span></span></span>
<span class="r-in"><span><span class="st">var x = 5;</span></span></span>
<span class="r-in"><span><span class="st"></span></span></span>
<span class="r-in"><span><span class="st">var svg = d3.select('body')</span></span></span>
<span class="r-in"><span><span class="st"> .append('svg');</span></span></span>
<span class="r-in"><span><span class="st"></span></span></span>
<span class="r-in"><span><span class="st">svg.append('rect')</span></span></span>
<span class="r-in"><span><span class="st"> .at({</span></span></span>
<span class="r-in"><span><span class="st"> x: 100,</span></span></span>
<span class="r-in"><span><span class="st"> y: 100,</span></span></span>
<span class="r-in"><span><span class="st"> width: 100,</span></span></span>
<span class="r-in"><span><span class="st"> height: 100</span></span></span>
<span class="r-in"><span><span class="st"> })</span></span></span>
<span class="r-in"><span><span class="st"> .st({</span></span></span>
<span class="r-in"><span><span class="st"> fill: 'blue',</span></span></span>
<span class="r-in"><span><span class="st"> stroke: 'purple'</span></span></span>
<span class="r-in"><span><span class="st"> });</span></span></span>
<span class="r-in"><span><span class="st">"</span></span></span>
<span class="r-in"><span><span class="op">)</span><span class="op">)</span><span class="op">)</span>, <span class="fu"><a href="d3_dep_v4.html">d3_dep_v4</a></span><span class="op">(</span><span class="op">)</span>, <span class="fu">d3_dep_jetpack</span><span class="op">(</span><span class="op">)</span><span class="op">)</span></span></span>
<span class="r-in"><span><span class="fu"><a href="https://rstudio.github.io/htmltools/reference/browsable.html" class="external-link">browsable</a></span><span class="op">(</span><span class="va">tl</span><span class="op">)</span></span></span>
<span class="r-in"><span></span></span>
<span class="r-in"><span></span></span>
<span class="r-in"><span></span></span>
<span class="r-in"><span><span class="va">tl</span> <span class="op"><-</span> <span class="fu"><a href="https://rstudio.github.io/htmltools/reference/tagList.html" class="external-link">tagList</a></span><span class="op">(</span><span class="va">tags</span><span class="op">$</span><span class="fu">script</span><span class="op">(</span><span class="fu"><a href="https://rstudio.github.io/htmltools/reference/HTML.html" class="external-link">HTML</a></span><span class="op">(</span><span class="fu"><a href="https://rdrr.io/r/base/sprintf.html" class="external-link">sprintf</a></span><span class="op">(</span></span></span>
<span class="r-in"><span> <span class="st">"</span></span></span>
<span class="r-in"><span><span class="st"> var svg = d3.select('body')</span></span></span>
<span class="r-in"><span><span class="st"> .append('svg');</span></span></span>
<span class="r-in"><span><span class="st"></span></span></span>
<span class="r-in"><span><span class="st"> test_data = [{x: 250, y: 250}, {x: 300, y: 300}, {x: 300, y: 100}];</span></span></span>
<span class="r-in"><span><span class="st"></span></span></span>
<span class="r-in"><span><span class="st"> svg.appendMany(test_data, 'circle')</span></span></span>
<span class="r-in"><span><span class="st"> .at({</span></span></span>
<span class="r-in"><span><span class="st"> cx: function(d){return d.x},</span></span></span>
<span class="r-in"><span><span class="st"> cy: function(d){return d.y},</span></span></span>
<span class="r-in"><span><span class="st"> r: 50</span></span></span>
<span class="r-in"><span><span class="st"> })</span></span></span>
<span class="r-in"><span><span class="st"> .st({</span></span></span>
<span class="r-in"><span><span class="st"> fill: 'purple',</span></span></span>
<span class="r-in"><span><span class="st"> stroke: 'blue'</span></span></span>
<span class="r-in"><span><span class="st"> });</span></span></span>
<span class="r-in"><span><span class="st"> "</span></span></span>
<span class="r-in"><span><span class="op">)</span><span class="op">)</span><span class="op">)</span>, <span class="fu"><a href="d3_dep_v4.html">d3_dep_v4</a></span><span class="op">(</span><span class="op">)</span>, <span class="fu">d3_dep_jetpack</span><span class="op">(</span><span class="op">)</span><span class="op">)</span></span></span>
<span class="r-in"><span></span></span>
<span class="r-in"><span><span class="fu"><a href="https://rstudio.github.io/htmltools/reference/browsable.html" class="external-link">browsable</a></span><span class="op">(</span><span class="va">tl</span><span class="op">)</span></span></span>
<span class="r-in"><span></span></span>
<span class="r-in"><span><span class="op">}</span></span></span>
</code></pre></div>
</div>
</div>
<div class="col-md-3 hidden-xs hidden-sm" id="pkgdown-sidebar">
<nav id="toc" data-toggle="toc" class="sticky-top"><h2 data-toc-skip>Contents</h2>
</nav></div>
</div>
<footer><div class="copyright">
<p></p><p>Developed by Mike Bostock, Kent Russell, Gregor Aisch, Adam Pearce.</p>
</div>
<div class="pkgdown">
<p></p><p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.0.7.</p>
</div>
</footer></div>
</body></html>
================================================
FILE: docs/reference/d3_dep_v3.html
================================================
<!DOCTYPE html>
<!-- Generated by pkgdown: do not edit by hand --><html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>'d3.js' Dependency for Version 3 — d3_dep_v3 • d3r</title><!-- jquery --><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script><!-- Bootstrap --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap.min.css" integrity="sha256-bZLfwXAP04zRMK2BjiO8iu9pf4FbLqX6zitd+tIvLhE=" crossorigin="anonymous"><script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/js/bootstrap.min.js" integrity="sha256-nuL8/2cJ5NDSSwnKD8VqreErSWHtnEP9E7AySL+1ev4=" crossorigin="anonymous"></script><!-- bootstrap-toc --><link rel="stylesheet" href="../bootstrap-toc.css"><script src="../bootstrap-toc.js"></script><!-- Font Awesome icons --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/all.min.css" integrity="sha256-mmgLkCYLUQbXn0B1SRqzHar6dCnv9oZFPEC1g1cwlkk=" crossorigin="anonymous"><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/v4-shims.min.css" integrity="sha256-wZjR52fzng1pJHwx4aV2AO3yyTOXrcDW7jBpJtTwVxw=" crossorigin="anonymous"><!-- clipboard.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.6/clipboard.min.js" integrity="sha256-inc5kl9MA1hkeYUt+EC3BhlIgyp/2jDIyBLS6k3UxPI=" crossorigin="anonymous"></script><!-- headroom.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/headroom.min.js" integrity="sha256-AsUX4SJE1+yuDu5+mAVzJbuYNPHj/WroHuZ8Ir/CkE0=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script><!-- pkgdown --><link href="../pkgdown.css" rel="stylesheet"><script src="../pkgdown.js"></script><meta property="og:title" content="'d3.js' Dependency for Version 3 — d3_dep_v3"><meta property="og:description" content="'d3.js' Dependency for Version 3"><!-- mathjax --><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script><!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]--></head><body data-spy="scroll" data-target="#toc">
<div class="container template-reference-topic">
<header><div class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<span class="navbar-brand">
<a class="navbar-link" href="../index.html">d3r</a>
<span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="">1.0.1</span>
</span>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav"><li>
<a href="../reference/index.html">Reference</a>
</li>
<li>
<a href="../news/index.html">Changelog</a>
</li>
</ul><ul class="nav navbar-nav navbar-right"><li>
<a href="https://github.com/timelyportfolio/d3r/" class="external-link">
<span class="fab fa-github fa-lg"></span>
</a>
</li>
</ul></div><!--/.nav-collapse -->
</div><!--/.container -->
</div><!--/.navbar -->
</header><div class="row">
<div class="col-md-9 contents">
<div class="page-header">
<h1>'d3.js' Dependency for Version 3</h1>
<small class="dont-index">Source: <a href="https://github.com/timelyportfolio/d3r/blob/HEAD/R/dependencies.R" class="external-link"><code>R/dependencies.R</code></a></small>
<div class="hidden name"><code>d3_dep_v3.Rd</code></div>
</div>
<div class="ref-description">
<p>'d3.js' Dependency for Version 3</p>
</div>
<div id="ref-usage">
<div class="sourceCode"><pre class="sourceCode r"><code><span><span class="fu">d3_dep_v3</span><span class="op">(</span>offline <span class="op">=</span> <span class="cn">TRUE</span><span class="op">)</span></span></code></pre></div>
</div>
<div id="arguments">
<h2>Arguments</h2>
<dl><dt>offline</dt>
<dd><p><code>logical</code> to specify whether to use
a local copy of d3.js (<code>TRUE</code>) or use cdn (<code>FALSE</code>)</p></dd>
</dl></div>
<div id="value">
<h2>Value</h2>
<p><code><a href="https://rstudio.github.io/htmltools/reference/htmlDependency.html" class="external-link">htmltools::htmlDependency</a></code></p>
</div>
<div id="see-also">
<h2>See also</h2>
<div class="dont-index"><p><code><a href="d3_dep_v7.html">d3_dep_v7</a></code>, <code><a href="d3_dep_v6.html">d3_dep_v6</a></code>, <code><a href="d3_dep_v5.html">d3_dep_v5</a></code>, <code><a href="d3_dep_v4.html">d3_dep_v4</a></code>,
and <code><a href="d3_dep_jetpack.html">d3_dep_jetpack</a></code>.</p>
<p>Other 'd3' dependency functions:
<code><a href="d3_dep_jetpack.html">d3_dep_jetpack</a>()</code>,
<code><a href="d3_dep_v4.html">d3_dep_v4</a>()</code>,
<code><a href="d3_dep_v5.html">d3_dep_v5</a>()</code>,
<code><a href="d3_dep_v6.html">d3_dep_v6</a>()</code>,
<code><a href="d3_dep_v7.html">d3_dep_v7</a>()</code></p></div>
</div>
<div id="ref-examples">
<h2>Examples</h2>
<div class="sourceCode"><pre class="sourceCode r"><code><span class="r-in"><span><span class="kw"><a href="https://rdrr.io/r/base/library.html" class="external-link">library</a></span><span class="op">(</span><span class="va"><a href="https://github.com/timelyportfolio/d3r" class="external-link">d3r</a></span><span class="op">)</span></span></span>
<span class="r-in"><span><span class="kw"><a href="https://rdrr.io/r/base/library.html" class="external-link">library</a></span><span class="op">(</span><span class="va"><a href="https://github.com/rstudio/htmltools" class="external-link">htmltools</a></span><span class="op">)</span></span></span>
<span class="r-wrn co"><span class="r-pr">#></span> <span class="warning">Warning: </span>package 'htmltools' was built under R version 4.1.3</span>
<span class="r-in"><span></span></span>
<span class="r-in"><span><span class="fu"><a href="https://rstudio.github.io/htmltools/reference/tagList.html" class="external-link">tagList</a></span><span class="op">(</span><span class="fu">d3_dep_v3</span><span class="op">(</span><span class="op">)</span><span class="op">)</span></span></span>
<span class="r-out co"><span class="r-pr">#></span> </span>
</code></pre></div>
</div>
</div>
<div class="col-md-3 hidden-xs hidden-sm" id="pkgdown-sidebar">
<nav id="toc" data-toggle="toc" class="sticky-top"><h2 data-toc-skip>Contents</h2>
</nav></div>
</div>
<footer><div class="copyright">
<p></p><p>Developed by Mike Bostock, Kent Russell, Gregor Aisch, Adam Pearce.</p>
</div>
<div class="pkgdown">
<p></p><p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.0.7.</p>
</div>
</footer></div>
</body></html>
================================================
FILE: docs/reference/d3_dep_v4.html
================================================
<!DOCTYPE html>
<!-- Generated by pkgdown: do not edit by hand --><html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>'d3.js' Dependency for Version 4 — d3_dep_v4 • d3r</title><!-- jquery --><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script><!-- Bootstrap --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap.min.css" integrity="sha256-bZLfwXAP04zRMK2BjiO8iu9pf4FbLqX6zitd+tIvLhE=" crossorigin="anonymous"><script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/js/bootstrap.min.js" integrity="sha256-nuL8/2cJ5NDSSwnKD8VqreErSWHtnEP9E7AySL+1ev4=" crossorigin="anonymous"></script><!-- bootstrap-toc --><link rel="stylesheet" href="../bootstrap-toc.css"><script src="../bootstrap-toc.js"></script><!-- Font Awesome icons --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/all.min.css" integrity="sha256-mmgLkCYLUQbXn0B1SRqzHar6dCnv9oZFPEC1g1cwlkk=" crossorigin="anonymous"><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/v4-shims.min.css" integrity="sha256-wZjR52fzng1pJHwx4aV2AO3yyTOXrcDW7jBpJtTwVxw=" crossorigin="anonymous"><!-- clipboard.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.6/clipboard.min.js" integrity="sha256-inc5kl9MA1hkeYUt+EC3BhlIgyp/2jDIyBLS6k3UxPI=" crossorigin="anonymous"></script><!-- headroom.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/headroom.min.js" integrity="sha256-AsUX4SJE1+yuDu5+mAVzJbuYNPHj/WroHuZ8Ir/CkE0=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script><!-- pkgdown --><link href="../pkgdown.css" rel="stylesheet"><script src="../pkgdown.js"></script><meta property="og:title" content="'d3.js' Dependency for Version 4 — d3_dep_v4"><meta property="og:description" content="'d3.js' Dependency for Version 4"><!-- mathjax --><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script><!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]--></head><body data-spy="scroll" data-target="#toc">
<div class="container template-reference-topic">
<header><div class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<span class="navbar-brand">
<a class="navbar-link" href="../index.html">d3r</a>
<span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="">1.0.1</span>
</span>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav"><li>
<a href="../reference/index.html">Reference</a>
</li>
<li>
<a href="../news/index.html">Changelog</a>
</li>
</ul><ul class="nav navbar-nav navbar-right"><li>
<a href="https://github.com/timelyportfolio/d3r/" class="external-link">
<span class="fab fa-github fa-lg"></span>
</a>
</li>
</ul></div><!--/.nav-collapse -->
</div><!--/.container -->
</div><!--/.navbar -->
</header><div class="row">
<div class="col-md-9 contents">
<div class="page-header">
<h1>'d3.js' Dependency for Version 4</h1>
<small class="dont-index">Source: <a href="https://github.com/timelyportfolio/d3r/blob/HEAD/R/dependencies.R" class="external-link"><code>R/dependencies.R</code></a></small>
<div class="hidden name"><code>d3_dep_v4.Rd</code></div>
</div>
<div class="ref-description">
<p>'d3.js' Dependency for Version 4</p>
</div>
<div id="ref-usage">
<div class="sourceCode"><pre class="sourceCode r"><code><span><span class="fu">d3_dep_v4</span><span class="op">(</span>offline <span class="op">=</span> <span class="cn">TRUE</span><span class="op">)</span></span></code></pre></div>
</div>
<div id="arguments">
<h2>Arguments</h2>
<dl><dt>offline</dt>
<dd><p><code>logical</code> to specify whether to use
a local copy of d3.js (<code>TRUE</code>) or use cdn (<code>FALSE</code>)</p></dd>
</dl></div>
<div id="value">
<h2>Value</h2>
<p><code><a href="https://rstudio.github.io/htmltools/reference/htmlDependency.html" class="external-link">htmltools::htmlDependency</a></code></p>
</div>
<div id="see-also">
<h2>See also</h2>
<div class="dont-index"><p><code><a href="d3_dep_v7.html">d3_dep_v7</a></code>, <code><a href="d3_dep_v6.html">d3_dep_v6</a></code>, <code><a href="d3_dep_v5.html">d3_dep_v5</a></code>, <code><a href="d3_dep_v3.html">d3_dep_v3</a></code>,
and <code><a href="d3_dep_jetpack.html">d3_dep_jetpack</a></code>.</p>
<p>Other 'd3' dependency functions:
<code><a href="d3_dep_jetpack.html">d3_dep_jetpack</a>()</code>,
<code><a href="d3_dep_v3.html">d3_dep_v3</a>()</code>,
<code><a href="d3_dep_v5.html">d3_dep_v5</a>()</code>,
<code><a href="d3_dep_v6.html">d3_dep_v6</a>()</code>,
<code><a href="d3_dep_v7.html">d3_dep_v7</a>()</code></p></div>
</div>
<div id="ref-examples">
<h2>Examples</h2>
<div class="sourceCode"><pre class="sourceCode r"><code><span class="r-in"><span><span class="kw"><a href="https://rdrr.io/r/base/library.html" class="external-link">library</a></span><span class="op">(</span><span class="va"><a href="https://github.com/timelyportfolio/d3r" class="external-link">d3r</a></span><span class="op">)</span></span></span>
<span class="r-in"><span><span class="kw"><a href="https://rdrr.io/r/base/library.html" class="external-link">library</a></span><span class="op">(</span><span class="va"><a href="https://github.com/rstudio/htmltools" class="external-link">htmltools</a></span><span class="op">)</span></span></span>
<span class="r-in"><span></span></span>
<span class="r-in"><span><span class="fu"><a href="https://rstudio.github.io/htmltools/reference/tagList.html" class="external-link">tagList</a></span><span class="op">(</span><span class="fu">d3_dep_v4</span><span class="op">(</span><span class="op">)</span><span class="op">)</span></span></span>
<span class="r-out co"><span class="r-pr">#></span> </span>
</code></pre></div>
</div>
</div>
<div class="col-md-3 hidden-xs hidden-sm" id="pkgdown-sidebar">
<nav id="toc" data-toggle="toc" class="sticky-top"><h2 data-toc-skip>Contents</h2>
</nav></div>
</div>
<footer><div class="copyright">
<p></p><p>Developed by Mike Bostock, Kent Russell, Gregor Aisch, Adam Pearce.</p>
</div>
<div class="pkgdown">
<p></p><p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.0.7.</p>
</div>
</footer></div>
</body></html>
================================================
FILE: docs/reference/d3_dep_v5.html
================================================
<!DOCTYPE html>
<!-- Generated by pkgdown: do not edit by hand --><html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>'d3.js' Dependency for Version 5 — d3_dep_v5 • d3r</title><!-- jquery --><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script><!-- Bootstrap --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap.min.css" integrity="sha256-bZLfwXAP04zRMK2BjiO8iu9pf4FbLqX6zitd+tIvLhE=" crossorigin="anonymous"><script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/js/bootstrap.min.js" integrity="sha256-nuL8/2cJ5NDSSwnKD8VqreErSWHtnEP9E7AySL+1ev4=" crossorigin="anonymous"></script><!-- bootstrap-toc --><link rel="stylesheet" href="../bootstrap-toc.css"><script src="../bootstrap-toc.js"></script><!-- Font Awesome icons --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/all.min.css" integrity="sha256-mmgLkCYLUQbXn0B1SRqzHar6dCnv9oZFPEC1g1cwlkk=" crossorigin="anonymous"><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/v4-shims.min.css" integrity="sha256-wZjR52fzng1pJHwx4aV2AO3yyTOXrcDW7jBpJtTwVxw=" crossorigin="anonymous"><!-- clipboard.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.6/clipboard.min.js" integrity="sha256-inc5kl9MA1hkeYUt+EC3BhlIgyp/2jDIyBLS6k3UxPI=" crossorigin="anonymous"></script><!-- headroom.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/headroom.min.js" integrity="sha256-AsUX4SJE1+yuDu5+mAVzJbuYNPHj/WroHuZ8Ir/CkE0=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script><!-- pkgdown --><link href="../pkgdown.css" rel="stylesheet"><script src="../pkgdown.js"></script><meta property="og:title" content="'d3.js' Dependency for Version 5 — d3_dep_v5"><meta property="og:description" content="'d3.js' Dependency for Version 5"><!-- mathjax --><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script><!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]--></head><body data-spy="scroll" data-target="#toc">
<div class="container template-reference-topic">
<header><div class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<span class="navbar-brand">
<a class="navbar-link" href="../index.html">d3r</a>
<span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="">1.0.1</span>
</span>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav"><li>
<a href="../reference/index.html">Reference</a>
</li>
<li>
<a href="../news/index.html">Changelog</a>
</li>
</ul><ul class="nav navbar-nav navbar-right"><li>
<a href="https://github.com/timelyportfolio/d3r/" class="external-link">
<span class="fab fa-github fa-lg"></span>
</a>
</li>
</ul></div><!--/.nav-collapse -->
</div><!--/.container -->
</div><!--/.navbar -->
</header><div class="row">
<div class="col-md-9 contents">
<div class="page-header">
<h1>'d3.js' Dependency for Version 5</h1>
<small class="dont-index">Source: <a href="https://github.com/timelyportfolio/d3r/blob/HEAD/R/dependencies.R" class="external-link"><code>R/dependencies.R</code></a></small>
<div class="hidden name"><code>d3_dep_v5.Rd</code></div>
</div>
<div class="ref-description">
<p>'d3.js' Dependency for Version 5</p>
</div>
<div id="ref-usage">
<div class="sourceCode"><pre class="sourceCode r"><code><span><span class="fu">d3_dep_v5</span><span class="op">(</span>offline <span class="op">=</span> <span class="cn">TRUE</span><span class="op">)</span></span></code></pre></div>
</div>
<div id="arguments">
<h2>Arguments</h2>
<dl><dt>offline</dt>
<dd><p><code>logical</code> to specify whether to use
a local copy of d3.js (<code>TRUE</code>) or use cdn (<code>FALSE</code>)</p></dd>
</dl></div>
<div id="value">
<h2>Value</h2>
<p><code><a href="https://rstudio.github.io/htmltools/reference/htmlDependency.html" class="external-link">htmltools::htmlDependency</a></code></p>
</div>
<div id="see-also">
<h2>See also</h2>
<div class="dont-index"><p><code><a href="d3_dep_v7.html">d3_dep_v7</a></code>, <code><a href="d3_dep_v6.html">d3_dep_v6</a></code>, <code><a href="d3_dep_v4.html">d3_dep_v4</a></code>, <code><a href="d3_dep_v3.html">d3_dep_v3</a></code>,
and <code><a href="d3_dep_jetpack.html">d3_dep_jetpack</a></code>.</p>
<p>Other 'd3' dependency functions:
<code><a href="d3_dep_jetpack.html">d3_dep_jetpack</a>()</code>,
<code><a href="d3_dep_v3.html">d3_dep_v3</a>()</code>,
<code><a href="d3_dep_v4.html">d3_dep_v4</a>()</code>,
<code><a href="d3_dep_v6.html">d3_dep_v6</a>()</code>,
<code><a href="d3_dep_v7.html">d3_dep_v7</a>()</code></p></div>
</div>
<div id="ref-examples">
<h2>Examples</h2>
<div class="sourceCode"><pre class="sourceCode r"><code><span class="r-in"><span><span class="kw"><a href="https://rdrr.io/r/base/library.html" class="external-link">library</a></span><span class="op">(</span><span class="va"><a href="https://github.com/timelyportfolio/d3r" class="external-link">d3r</a></span><span class="op">)</span></span></span>
<span class="r-in"><span><span class="kw"><a href="https://rdrr.io/r/base/library.html" class="external-link">library</a></span><span class="op">(</span><span class="va"><a href="https://github.com/rstudio/htmltools" class="external-link">htmltools</a></span><span class="op">)</span></span></span>
<span class="r-in"><span></span></span>
<span class="r-in"><span><span class="fu"><a href="https://rstudio.github.io/htmltools/reference/tagList.html" class="external-link">tagList</a></span><span class="op">(</span><span class="fu">d3_dep_v5</span><span class="op">(</span><span class="op">)</span><span class="op">)</span></span></span>
<span class="r-out co"><span class="r-pr">#></span> </span>
</code></pre></div>
</div>
</div>
<div class="col-md-3 hidden-xs hidden-sm" id="pkgdown-sidebar">
<nav id="toc" data-toggle="toc" class="sticky-top"><h2 data-toc-skip>Contents</h2>
</nav></div>
</div>
<footer><div class="copyright">
<p></p><p>Developed by Mike Bostock, Kent Russell, Gregor Aisch, Adam Pearce.</p>
</div>
<div class="pkgdown">
<p></p><p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.0.7.</p>
</div>
</footer></div>
</body></html>
================================================
FILE: docs/reference/d3_dep_v6.html
================================================
<!DOCTYPE html>
<!-- Generated by pkgdown: do not edit by hand --><html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>'d3.js' Dependency for Version 6 — d3_dep_v6 • d3r</title><!-- jquery --><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script><!-- Bootstrap --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap.min.css" integrity="sha256-bZLfwXAP04zRMK2BjiO8iu9pf4FbLqX6zitd+tIvLhE=" crossorigin="anonymous"><script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/js/bootstrap.min.js" integrity="sha256-nuL8/2cJ5NDSSwnKD8VqreErSWHtnEP9E7AySL+1ev4=" crossorigin="anonymous"></script><!-- bootstrap-toc --><link rel="stylesheet" href="../bootstrap-toc.css"><script src="../bootstrap-toc.js"></script><!-- Font Awesome icons --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/all.min.css" integrity="sha256-mmgLkCYLUQbXn0B1SRqzHar6dCnv9oZFPEC1g1cwlkk=" crossorigin="anonymous"><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/v4-shims.min.css" integrity="sha256-wZjR52fzng1pJHwx4aV2AO3yyTOXrcDW7jBpJtTwVxw=" crossorigin="anonymous"><!-- clipboard.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.6/clipboard.min.js" integrity="sha256-inc5kl9MA1hkeYUt+EC3BhlIgyp/2jDIyBLS6k3UxPI=" crossorigin="anonymous"></script><!-- headroom.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/headroom.min.js" integrity="sha256-AsUX4SJE1+yuDu5+mAVzJbuYNPHj/WroHuZ8Ir/CkE0=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script><!-- pkgdown --><link href="../pkgdown.css" rel="stylesheet"><script src="../pkgdown.js"></script><meta property="og:title" content="'d3.js' Dependency for Version 6 — d3_dep_v6"><meta property="og:description" content="'d3.js' Dependency for Version 6"><!-- mathjax --><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script><!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]--></head><body data-spy="scroll" data-target="#toc">
<div class="container template-reference-topic">
<header><div class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<span class="navbar-brand">
<a class="navbar-link" href="../index.html">d3r</a>
<span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="">1.0.1</span>
</span>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav"><li>
<a href="../reference/index.html">Reference</a>
</li>
<li>
<a href="../news/index.html">Changelog</a>
</li>
</ul><ul class="nav navbar-nav navbar-right"><li>
<a href="https://github.com/timelyportfolio/d3r/" class="external-link">
<span class="fab fa-github fa-lg"></span>
</a>
</li>
</ul></div><!--/.nav-collapse -->
</div><!--/.container -->
</div><!--/.navbar -->
</header><div class="row">
<div class="col-md-9 contents">
<div class="page-header">
<h1>'d3.js' Dependency for Version 6</h1>
<small class="dont-index">Source: <a href="https://github.com/timelyportfolio/d3r/blob/HEAD/R/dependencies.R" class="external-link"><code>R/dependencies.R</code></a></small>
<div class="hidden name"><code>d3_dep_v6.Rd</code></div>
</div>
<div class="ref-description">
<p>'d3.js' Dependency for Version 6</p>
</div>
<div id="ref-usage">
<div class="sourceCode"><pre class="sourceCode r"><code><span><span class="fu">d3_dep_v6</span><span class="op">(</span>offline <span class="op">=</span> <span class="cn">TRUE</span><span class="op">)</span></span></code></pre></div>
</div>
<div id="arguments">
<h2>Arguments</h2>
<dl><dt>offline</dt>
<dd><p><code>logical</code> to specify whether to use
a local copy of d3.js (<code>TRUE</code>) or use cdn (<code>FALSE</code>)</p></dd>
</dl></div>
<div id="value">
<h2>Value</h2>
<p><code><a href="https://rstudio.github.io/htmltools/reference/htmlDependency.html" class="external-link">htmltools::htmlDependency</a></code></p>
</div>
<div id="see-also">
<h2>See also</h2>
<div class="dont-index"><p><code><a href="d3_dep_v7.html">d3_dep_v7</a></code>, <code><a href="d3_dep_v5.html">d3_dep_v5</a></code>, <code><a href="d3_dep_v4.html">d3_dep_v4</a></code>, <code><a href="d3_dep_v3.html">d3_dep_v3</a></code>,
and <code><a href="d3_dep_jetpack.html">d3_dep_jetpack</a></code>.</p>
<p>Other 'd3' dependency functions:
<code><a href="d3_dep_jetpack.html">d3_dep_jetpack</a>()</code>,
<code><a href="d3_dep_v3.html">d3_dep_v3</a>()</code>,
<code><a href="d3_dep_v4.html">d3_dep_v4</a>()</code>,
<code><a href="d3_dep_v5.html">d3_dep_v5</a>()</code>,
<code><a href="d3_dep_v7.html">d3_dep_v7</a>()</code></p></div>
</div>
<div id="ref-examples">
<h2>Examples</h2>
<div class="sourceCode"><pre class="sourceCode r"><code><span class="r-in"><span><span class="kw"><a href="https://rdrr.io/r/base/library.html" class="external-link">library</a></span><span class="op">(</span><span class="va"><a href="https://github.com/timelyportfolio/d3r" class="external-link">d3r</a></span><span class="op">)</span></span></span>
<span class="r-in"><span><span class="kw"><a href="https://rdrr.io/r/base/library.html" class="external-link">library</a></span><span class="op">(</span><span class="va"><a href="https://github.com/rstudio/htmltools" class="external-link">htmltools</a></span><span class="op">)</span></span></span>
<span class="r-in"><span></span></span>
<span class="r-in"><span><span class="fu"><a href="https://rstudio.github.io/htmltools/reference/tagList.html" class="external-link">tagList</a></span><span class="op">(</span><span class="fu">d3_dep_v6</span><span class="op">(</span><span class="op">)</span><span class="op">)</span></span></span>
<span class="r-out co"><span class="r-pr">#></span> </span>
</code></pre></div>
</div>
</div>
<div class="col-md-3 hidden-xs hidden-sm" id="pkgdown-sidebar">
<nav id="toc" data-toggle="toc" class="sticky-top"><h2 data-toc-skip>Contents</h2>
</nav></div>
</div>
<footer><div class="copyright">
<p></p><p>Developed by Mike Bostock, Kent Russell, Gregor Aisch, Adam Pearce.</p>
</div>
<div class="pkgdown">
<p></p><p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.0.7.</p>
</div>
</footer></div>
</body></html>
================================================
FILE: docs/reference/d3_dep_v7.html
================================================
<!DOCTYPE html>
<!-- Generated by pkgdown: do not edit by hand --><html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>'d3.js' Dependency for Version 7 — d3_dep_v7 • d3r</title><!-- jquery --><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script><!-- Bootstrap --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap.min.css" integrity="sha256-bZLfwXAP04zRMK2BjiO8iu9pf4FbLqX6zitd+tIvLhE=" crossorigin="anonymous"><script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/js/bootstrap.min.js" integrity="sha256-nuL8/2cJ5NDSSwnKD8VqreErSWHtnEP9E7AySL+1ev4=" crossorigin="anonymous"></script><!-- bootstrap-toc --><link rel="stylesheet" href="../bootstrap-toc.css"><script src="../bootstrap-toc.js"></script><!-- Font Awesome icons --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/all.min.css" integrity="sha256-mmgLkCYLUQbXn0B1SRqzHar6dCnv9oZFPEC1g1cwlkk=" crossorigin="anonymous"><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/v4-shims.min.css" integrity="sha256-wZjR52fzng1pJHwx4aV2AO3yyTOXrcDW7jBpJtTwVxw=" crossorigin="anonymous"><!-- clipboard.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.6/clipboard.min.js" integrity="sha256-inc5kl9MA1hkeYUt+EC3BhlIgyp/2jDIyBLS6k3UxPI=" crossorigin="anonymous"></script><!-- headroom.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/headroom.min.js" integrity="sha256-AsUX4SJE1+yuDu5+mAVzJbuYNPHj/WroHuZ8Ir/CkE0=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script><!-- pkgdown --><link href="../pkgdown.css" rel="stylesheet"><script src="../pkgdown.js"></script><meta property="og:title" content="'d3.js' Dependency for Version 7 — d3_dep_v7"><meta property="og:description" content="'d3.js' Dependency for Version 7"><!-- mathjax --><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script><!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]--></head><body data-spy="scroll" data-target="#toc">
<div class="container template-reference-topic">
<header><div class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<span class="navbar-brand">
<a class="navbar-link" href="../index.html">d3r</a>
<span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="">1.0.1</span>
</span>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav"><li>
<a href="../reference/index.html">Reference</a>
</li>
<li>
<a href="../news/index.html">Changelog</a>
</li>
</ul><ul class="nav navbar-nav navbar-right"><li>
<a href="https://github.com/timelyportfolio/d3r/" class="external-link">
<span class="fab fa-github fa-lg"></span>
</a>
</li>
</ul></div><!--/.nav-collapse -->
</div><!--/.container -->
</div><!--/.navbar -->
</header><div class="row">
<div class="col-md-9 contents">
<div class="page-header">
<h1>'d3.js' Dependency for Version 7</h1>
<small class="dont-index">Source: <a href="https://github.com/timelyportfolio/d3r/blob/HEAD/R/dependencies.R" class="external-link"><code>R/dependencies.R</code></a></small>
<div class="hidden name"><code>d3_dep_v7.Rd</code></div>
</div>
<div class="ref-description">
<p>'d3.js' Dependency for Version 7</p>
</div>
<div id="ref-usage">
<div class="sourceCode"><pre class="sourceCode r"><code><span><span class="fu">d3_dep_v7</span><span class="op">(</span>offline <span class="op">=</span> <span class="cn">TRUE</span><span class="op">)</span></span></code></pre></div>
</div>
<div id="arguments">
<h2>Arguments</h2>
<dl><dt>offline</dt>
<dd><p><code>logical</code> to specify whether to use
a local copy of d3.js (<code>TRUE</code>) or use cdn (<code>FALSE</code>)</p></dd>
</dl></div>
<div id="value">
<h2>Value</h2>
<p><code><a href="https://rstudio.github.io/htmltools/reference/htmlDependency.html" class="external-link">htmltools::htmlDependency</a></code></p>
</div>
<div id="see-also">
<h2>See also</h2>
<div class="dont-index"><p><code><a href="d3_dep_v6.html">d3_dep_v6</a></code>, <code><a href="d3_dep_v5.html">d3_dep_v5</a></code>, <code><a href="d3_dep_v4.html">d3_dep_v4</a></code>, <code><a href="d3_dep_v3.html">d3_dep_v3</a></code>,
and <code><a href="d3_dep_jetpack.html">d3_dep_jetpack</a></code>.</p>
<p>Other 'd3' dependency functions:
<code><a href="d3_dep_jetpack.html">d3_dep_jetpack</a>()</code>,
<code><a href="d3_dep_v3.html">d3_dep_v3</a>()</code>,
<code><a href="d3_dep_v4.html">d3_dep_v4</a>()</code>,
<code><a href="d3_dep_v5.html">d3_dep_v5</a>()</code>,
<code><a href="d3_dep_v6.html">d3_dep_v6</a>()</code></p></div>
</div>
<div id="ref-examples">
<h2>Examples</h2>
<div class="sourceCode"><pre class="sourceCode r"><code><span class="r-in"><span><span class="kw"><a href="https://rdrr.io/r/base/library.html" class="external-link">library</a></span><span class="op">(</span><span class="va"><a href="https://github.com/timelyportfolio/d3r" class="external-link">d3r</a></span><span class="op">)</span></span></span>
<span class="r-in"><span><span class="kw"><a href="https://rdrr.io/r/base/library.html" class="external-link">library</a></span><span class="op">(</span><span class="va"><a href="https://github.com/rstudio/htmltools" class="external-link">htmltools</a></span><span class="op">)</span></span></span>
<span class="r-in"><span></span></span>
<span class="r-in"><span><span class="fu"><a href="https://rstudio.github.io/htmltools/reference/tagList.html" class="external-link">tagList</a></span><span class="op">(</span><span class="fu">d3_dep_v7</span><span class="op">(</span><span class="op">)</span><span class="op">)</span></span></span>
<span class="r-out co"><span class="r-pr">#></span> </span>
</code></pre></div>
</div>
</div>
<div class="col-md-3 hidden-xs hidden-sm" id="pkgdown-sidebar">
<nav id="toc" data-toggle="toc" class="sticky-top"><h2 data-toc-skip>Contents</h2>
</nav></div>
</div>
<footer><div class="copyright">
<p></p><p>Developed by Mike Bostock, Kent Russell, Gregor Aisch, Adam Pearce.</p>
</div>
<div class="pkgdown">
<p></p><p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.0.7.</p>
</div>
</footer></div>
</body></html>
================================================
FILE: docs/reference/d3_igraph.html
================================================
<!DOCTYPE html>
<!-- Generated by pkgdown: do not edit by hand --><html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Convert 'igraph' to 'd3.js' — d3_igraph • d3r</title><!-- jquery --><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script><!-- Bootstrap --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap.min.css" integrity="sha256-bZLfwXAP04zRMK2BjiO8iu9pf4FbLqX6zitd+tIvLhE=" crossorigin="anonymous"><script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/js/bootstrap.min.js" integrity="sha256-nuL8/2cJ5NDSSwnKD8VqreErSWHtnEP9E7AySL+1ev4=" crossorigin="anonymous"></script><!-- bootstrap-toc --><link rel="stylesheet" href="../bootstrap-toc.css"><script src="../bootstrap-toc.js"></script><!-- Font Awesome icons --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/all.min.css" integrity="sha256-mmgLkCYLUQbXn0B1SRqzHar6dCnv9oZFPEC1g1cwlkk=" crossorigin="anonymous"><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/v4-shims.min.css" integrity="sha256-wZjR52fzng1pJHwx4aV2AO3yyTOXrcDW7jBpJtTwVxw=" crossorigin="anonymous"><!-- clipboard.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.6/clipboard.min.js" integrity="sha256-inc5kl9MA1hkeYUt+EC3BhlIgyp/2jDIyBLS6k3UxPI=" crossorigin="anonymous"></script><!-- headroom.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/headroom.min.js" integrity="sha256-AsUX4SJE1+yuDu5+mAVzJbuYNPHj/WroHuZ8Ir/CkE0=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script><!-- pkgdown --><link href="../pkgdown.css" rel="stylesheet"><script src="../pkgdown.js"></script><meta property="og:title" content="Convert 'igraph' to 'd3.js' — d3_igraph"><meta property="og:description" content="Convert 'igraph' to 'd3.js'"><!-- mathjax --><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script><!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]--></head><body data-spy="scroll" data-target="#toc">
<div class="container template-reference-topic">
<header><div class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<span class="navbar-brand">
<a class="navbar-link" href="../index.html">d3r</a>
<span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="">1.0.1</span>
</span>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav"><li>
<a href="../reference/index.html">Reference</a>
</li>
<li>
<a href="../news/index.html">Changelog</a>
</li>
</ul><ul class="nav navbar-nav navbar-right"><li>
<a href="https://github.com/timelyportfolio/d3r/" class="external-link">
<span class="fab fa-github fa-lg"></span>
</a>
</li>
</ul></div><!--/.nav-collapse -->
</div><!--/.container -->
</div><!--/.navbar -->
</header><div class="row">
<div class="col-md-9 contents">
<div class="page-header">
<h1>Convert 'igraph' to 'd3.js'</h1>
<small class="dont-index">Source: <a href="https://github.com/timelyportfolio/d3r/blob/HEAD/R/igraph.R" class="external-link"><code>R/igraph.R</code></a></small>
<div class="hidden name"><code>d3_igraph.Rd</code></div>
</div>
<div class="ref-description">
<p>Convert 'igraph' to 'd3.js'</p>
</div>
<div id="ref-usage">
<div class="sourceCode"><pre class="sourceCode r"><code><span><span class="fu">d3_igraph</span><span class="op">(</span>igrf <span class="op">=</span> <span class="cn">NULL</span>, json <span class="op">=</span> <span class="cn">TRUE</span><span class="op">)</span></span></code></pre></div>
</div>
<div id="arguments">
<h2>Arguments</h2>
<dl><dt>igrf</dt>
<dd><p><code>igraph</code></p></dd>
<dt>json</dt>
<dd><p><code>logical</code> to return as <code>JSON</code></p></dd>
</dl></div>
<div id="value">
<h2>Value</h2>
<p><code>list</code></p>
</div>
<div id="ref-examples">
<h2>Examples</h2>
<div class="sourceCode"><pre class="sourceCode r"><code><span class="r-in"><span><span class="kw">if</span> <span class="op">(</span><span class="cn">FALSE</span><span class="op">)</span> <span class="op">{</span></span></span>
<span class="r-in"><span><span class="kw"><a href="https://rdrr.io/r/base/library.html" class="external-link">library</a></span><span class="op">(</span><span class="va"><a href="https://igraph.org" class="external-link">igraph</a></span><span class="op">)</span></span></span>
<span class="r-in"><span><span class="kw"><a href="https://rdrr.io/r/base/library.html" class="external-link">library</a></span><span class="op">(</span><span class="va"><a href="http://igraph.org" class="external-link">igraphdata</a></span><span class="op">)</span></span></span>
<span class="r-in"><span><span class="kw"><a href="https://rdrr.io/r/base/library.html" class="external-link">library</a></span><span class="op">(</span><span class="va"><a href="https://github.com/timelyportfolio/d3r" class="external-link">d3r</a></span><span class="op">)</span></span></span>
<span class="r-in"><span></span></span>
<span class="r-in"><span><span class="co"># with random graph</span></span></span>
<span class="r-in"><span><span class="fu">d3r</span><span class="fu">::</span><span class="fu">d3_igraph</span><span class="op">(</span><span class="fu">igraph</span><span class="fu">::</span><span class="fu"><a href="https://rdrr.io/pkg/igraph/man/sample_pa.html" class="external-link">sample_pa</a></span><span class="op">(</span><span class="fl">100</span><span class="op">)</span><span class="op">)</span></span></span>
<span class="r-in"><span></span></span>
<span class="r-in"><span><span class="co"># check case where vertices 0 cols</span></span></span>
<span class="r-in"><span><span class="fu">d3_igraph</span><span class="op">(</span><span class="fu">igraph</span><span class="fu">::</span><span class="fu"><a href="https://rdrr.io/pkg/igraph/man/sample_smallworld.html" class="external-link">watts.strogatz.game</a></span><span class="op">(</span><span class="fl">1</span>, <span class="fl">50</span>, <span class="fl">4</span>, <span class="fl">0.05</span><span class="op">)</span><span class="op">)</span></span></span>
<span class="r-in"><span></span></span>
<span class="r-in"><span><span class="co"># with karate from igraphdata</span></span></span>
<span class="r-in"><span><span class="co"># notice graph attributes are added</span></span></span>
<span class="r-in"><span><span class="fu"><a href="https://rdrr.io/r/utils/data.html" class="external-link">data</a></span><span class="op">(</span><span class="st">"karate"</span>,package<span class="op">=</span><span class="st">"igraphdata"</span><span class="op">)</span></span></span>
<span class="r-in"><span><span class="op">(</span><span class="va">karate_d3</span> <span class="op"><-</span> <span class="fu">d3r</span><span class="fu">::</span><span class="fu">d3_igraph</span><span class="op">(</span><span class="va">karate</span><span class="op">)</span><span class="op">)</span></span></span>
<span class="r-in"><span></span></span>
<span class="r-in"><span><span class="fu">listviewer</span><span class="fu">::</span><span class="fu"><a href="https://rdrr.io/pkg/listviewer/man/jsonedit.html" class="external-link">jsonedit</a></span><span class="op">(</span><span class="va">karate_d3</span><span class="op">)</span></span></span>
<span class="r-in"><span></span></span>
<span class="r-in"><span><span class="fu"><a href="https://rdrr.io/r/utils/data.html" class="external-link">data</a></span><span class="op">(</span><span class="st">"kite"</span>,package<span class="op">=</span><span class="st">"igraphdata"</span><span class="op">)</span></span></span>
<span class="r-in"><span><span class="fu">listviewer</span><span class="fu">::</span><span class="fu"><a href="https://rdrr.io/pkg/listviewer/man/jsonedit.html" class="external-link">jsonedit</a></span><span class="op">(</span><span class="fu">d3_igraph</span><span class="op">(</span><span class="va">kite</span><span class="op">)</span><span class="op">)</span></span></span>
<span class="r-in"><span><span class="op">}</span></span></span>
</code></pre></div>
</div>
</div>
<div class="col-md-3 hidden-xs hidden-sm" id="pkgdown-sidebar">
<nav id="toc" data-toggle="toc" class="sticky-top"><h2 data-toc-skip>Contents</h2>
</nav></div>
</div>
<footer><div class="copyright">
<p></p><p>Developed by Mike Bostock, Kent Russell, Gregor Aisch, Adam Pearce.</p>
</div>
<div class="pkgdown">
<p></p><p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.0.7.</p>
</div>
</footer></div>
</body></html>
================================================
FILE: docs/reference/d3_json.html
================================================
<!DOCTYPE html>
<!-- Generated by pkgdown: do not edit by hand --><html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Create 'JSON' that 'd3.js' Expects — d3_json • d3r</title><!-- jquery --><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script><!-- Bootstrap --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap.min.css" integrity="sha256-bZLfwXAP04zRMK2BjiO8iu9pf4FbLqX6zitd+tIvLhE=" crossorigin="a
gitextract_nk53hx1x/
├── .Rbuildignore
├── .github/
│ ├── .gitignore
│ └── workflows/
│ ├── R-CMD-check.yaml
│ └── check-standard.yaml
├── .gitignore
├── CONDUCT.md
├── DESCRIPTION
├── LICENSE
├── NAMESPACE
├── NEWS.md
├── R/
│ ├── dependencies.R
│ ├── hierarchy.R
│ ├── igraph.R
│ ├── json.R
│ ├── party.R
│ ├── partykit_unexported.R
│ ├── table.R
│ └── v8.R
├── README.Rmd
├── README.md
├── _pkgdown.yml
├── codecov.yml
├── d3R.Rproj
├── docs/
│ ├── 404.html
│ ├── CONDUCT.html
│ ├── LICENSE-text.html
│ ├── authors.html
│ ├── bootstrap-toc.css
│ ├── bootstrap-toc.js
│ ├── docsearch.css
│ ├── docsearch.js
│ ├── index.html
│ ├── news/
│ │ └── index.html
│ ├── pkgdown.css
│ ├── pkgdown.js
│ ├── pkgdown.yml
│ └── reference/
│ ├── change_to_name.html
│ ├── d3_dep_jetpack.html
│ ├── d3_dep_v3.html
│ ├── d3_dep_v4.html
│ ├── d3_dep_v5.html
│ ├── d3_dep_v6.html
│ ├── d3_dep_v7.html
│ ├── d3_igraph.html
│ ├── d3_json.html
│ ├── d3_nest.html
│ ├── d3_party.html
│ ├── d3_table.html
│ ├── d3_v8.html
│ ├── index.html
│ ├── libs/
│ │ ├── htmlwidgets-1.6.1/
│ │ │ └── htmlwidgets.js
│ │ └── jsonedit-binding-3.0.0/
│ │ └── jsonedit.js
│ ├── promote_na.html
│ └── promote_na_one.html
├── inst/
│ ├── examples/
│ │ ├── example_d3_annotation.R
│ │ ├── example_d3_jetpack.R
│ │ ├── example_d3_v8.R
│ │ ├── example_draw_igraph_with_layout.R
│ │ ├── example_igraph.R
│ │ ├── example_rpart.R
│ │ ├── example_table.R
│ │ ├── example_treemap.R
│ │ └── why_d3R.Rmd
│ └── www/
│ └── d3/
│ ├── d3-jetpack/
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── dist/
│ │ │ └── d3-jetpack.js
│ │ └── package.json
│ ├── v3/
│ │ └── LICENSE
│ ├── v4/
│ │ ├── API.md
│ │ ├── CHANGES.md
│ │ ├── LICENSE
│ │ └── README.md
│ ├── v5/
│ │ ├── API.md
│ │ ├── CHANGES.md
│ │ ├── LICENSE
│ │ └── README.md
│ ├── v6/
│ │ ├── API.md
│ │ ├── CHANGES.md
│ │ ├── LICENSE
│ │ └── README.md
│ └── v7/
│ ├── API.md
│ ├── CHANGES.md
│ ├── LICENSE
│ └── README.md
├── man/
│ ├── change_to_name.Rd
│ ├── d3_dep_jetpack.Rd
│ ├── d3_dep_v3.Rd
│ ├── d3_dep_v4.Rd
│ ├── d3_dep_v5.Rd
│ ├── d3_dep_v6.Rd
│ ├── d3_dep_v7.Rd
│ ├── d3_igraph.Rd
│ ├── d3_json.Rd
│ ├── d3_nest.Rd
│ ├── d3_party.Rd
│ ├── d3_table.Rd
│ ├── d3_v8.Rd
│ ├── promote_na.Rd
│ └── promote_na_one.Rd
└── tests/
├── testthat/
│ ├── test_deps.R
│ ├── test_hier.R
│ ├── test_igraph.R
│ ├── test_table.R
│ └── test_v8.R
└── testthat.R
SYMBOL INDEX (44 symbols across 4 files)
FILE: docs/docsearch.js
function matchedWords (line 54) | function matchedWords(hit) {
function updateHitURL (line 73) | function updateHitURL(hit) {
FILE: docs/pkgdown.js
function paths (line 42) | function paths(pathname) {
function prefix_length (line 53) | function prefix_length(needle, haystack) {
function changeTooltipMessage (line 72) | function changeTooltipMessage(element, msg) {
FILE: docs/reference/libs/htmlwidgets-1.6.1/htmlwidgets.js
function querySelectorAll (line 19) | function querySelectorAll(scope, selector) {
function asArray (line 28) | function asArray(value) {
function extend (line 37) | function extend(target /*, ... */) {
function forEach (line 53) | function forEach(values, callback, thisArg) {
function overrideMethod (line 70) | function overrideMethod(target, methodName, funcSource) {
function delegateMethod (line 98) | function delegateMethod(delegator, delegatee, methodName) {
function elementData (line 118) | function elementData(el, name, value) {
function escapeRegExp (line 131) | function escapeRegExp(str) {
function hasClass (line 135) | function hasClass(el, className) {
function filterByClass (line 144) | function filterByClass(elements, className, include) {
function on (line 153) | function on(obj, eventName, func) {
function off (line 161) | function off(obj, eventName, func) {
function unpackPadding (line 172) | function unpackPadding(value) {
function paddingToCss (line 190) | function paddingToCss(paddingObj) {
function px (line 195) | function px(x) {
function sizingPolicy (line 205) | function sizingPolicy(el) {
function evalAndRun (line 228) | function evalAndRun(tasks, target, args) {
function tryEval (line 249) | function tryEval(code) {
function initSizing (line 270) | function initSizing(el) {
function scheduleStaticRender (line 559) | function scheduleStaticRender() {
function has_jQuery3 (line 662) | function has_jQuery3() {
function maybeStaticRenderLater (line 693) | function maybeStaticRenderLater() {
function splitWithEscape (line 765) | function splitWithEscape(value, splitChar, escapeChar) {
function invokePostRenderHandlers (line 858) | function invokePostRenderHandlers() {
function createLegacyDefinitionAdapter (line 877) | function createLegacyDefinitionAdapter(defn) {
FILE: inst/www/d3/d3-jetpack/dist/d3-jetpack.js
function constantNull (line 48) | function constantNull() {
function f (line 124) | function f(){
function addStyle (line 165) | function addStyle(sel, style, value){
function addPx (line 179) | function addPx(d){ return d.match ? d : d + 'px'; }
function wrapPx (line 180) | function wrapPx(fn){
function char_w (line 232) | function char_w(c) { return !monospace && CHAR_W[c] || CHAR_W.a; }
function word_len (line 233) | function word_len(d) { return d.length; }
function num_asc (line 234) | function num_asc(a, b) { return a - b; }
function ttDisplay (line 326) | function ttDisplay(d){
function ttMove (line 336) | function ttMove(d){
function ttHide (line 351) | function ttHide(d){
function polygonInside (line 426) | function polygonInside(p, a, b) {
function polygonIntersect (line 431) | function polygonIntersect(c, d, a, b) {
function polygonClosed (line 439) | function polygonClosed(coordinates) {
Condensed preview — 105 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (1,623K chars).
[
{
"path": ".Rbuildignore",
"chars": 220,
"preview": "^CRAN-RELEASE$\n^docs$\n^_pkgdown\\.yml$\n^.*\\.Rproj$\n^\\.Rproj\\.user$\n^README\\.Rmd$\n^README-.*\\.png$\n^\\.travis\\.yml$\n^CONDUC"
},
{
"path": ".github/.gitignore",
"chars": 7,
"preview": "*.html\n"
},
{
"path": ".github/workflows/R-CMD-check.yaml",
"chars": 1326,
"preview": "# Workflow derived from https://github.com/r-lib/actions/tree/v2/examples\n# Need help debugging build failures? Start at"
},
{
"path": ".github/workflows/check-standard.yaml",
"chars": 1326,
"preview": "# Workflow derived from https://github.com/r-lib/actions/tree/v2/examples\n# Need help debugging build failures? Start at"
},
{
"path": ".gitignore",
"chars": 89,
"preview": ".Rproj.user\n.Rhistory\n.RData\n.Ruserdata\ninst/doc\n.V8history\nexperiments\ncran-comments.md\n"
},
{
"path": "CONDUCT.md",
"chars": 1387,
"preview": "# Contributor Code of Conduct\n\nAs contributors and maintainers of this project, we pledge to respect all people who \ncon"
},
{
"path": "DESCRIPTION",
"chars": 1600,
"preview": "Package: d3r\nType: Package\nTitle: 'd3.js' Utilities for R\nVersion: 1.1.0\nDate: 2023-10-01\nAuthors@R: c(\n person(\n "
},
{
"path": "LICENSE",
"chars": 73,
"preview": "YEAR: 2017\nCOPYRIGHT HOLDER: Kenton Russell\nORGANIZATION: Kenton Russell\n"
},
{
"path": "NAMESPACE",
"chars": 257,
"preview": "# Generated by roxygen2: do not edit by hand\n\nexport(d3_dep_jetpack)\nexport(d3_dep_v3)\nexport(d3_dep_v4)\nexport(d3_dep_v"
},
{
"path": "NEWS.md",
"chars": 4015,
"preview": "# d3r 1.1.0\n\n* update d3 version [`7.8.5`](https://github.com/d3/d3/releases/tag/v7.8.5) dependency function `d3_dep_v7("
},
{
"path": "R/dependencies.R",
"chars": 4931,
"preview": "#' 'd3.js' Dependency for Version 7\n#'\n#' @param offline \\code{logical} to specify whether to use\n#' a local cop"
},
{
"path": "R/hierarchy.R",
"chars": 3771,
"preview": "#' Change Column Name in Children to \"name\"\n#'\n#' @param x \\code{data.frame} or \\code{data.frame} derivative, such\n#' "
},
{
"path": "R/igraph.R",
"chars": 1368,
"preview": "#' Convert 'igraph' to 'd3.js'\n#'\n#' @param igrf \\code{igraph}\n#' @param json \\code{logical} to return as \\code{JSON}\n#'"
},
{
"path": "R/json.R",
"chars": 615,
"preview": "### convenience functions to use arguments to jsonlite::toJSON\n### that play nicely with d3.js\n\n#' Create 'JSON' that '"
},
{
"path": "R/party.R",
"chars": 5109,
"preview": "# convert rpart / partykit to d3\n# some help from http://stackoverflow.com/questions/34196611/converting-rpart-output-in"
},
{
"path": "R/partykit_unexported.R",
"chars": 2466,
"preview": "# this is copied directly from\n# from the unexported .list.rules.party in partykit\n# copied here to make CRAN happy an"
},
{
"path": "R/table.R",
"chars": 3133,
"preview": "#' @keywords internal\nlinks_get <- function(tB, vars=NULL, agg=\"Freq\") {\n if(length(vars) == 1){\n return(data.frame("
},
{
"path": "R/v8.R",
"chars": 496,
"preview": "#' Create V8 Context with D3\n#'\n#' @param ... arguments passed to \\code{v8()}\n#'\n#' @return \\code{v8} context with d3.js"
},
{
"path": "README.Rmd",
"chars": 3343,
"preview": "---\noutput: github_document\nalways_allow_html: true\n---\n\n<!-- README.md is generated from README.Rmd. Please edit that f"
},
{
"path": "README.md",
"chars": 3301,
"preview": "\n<!-- README.md is generated from README.Rmd. Please edit that file -->\n\n[\n * Copyright 2015 Aidan Feldman\n * Lic"
},
{
"path": "docs/bootstrap-toc.js",
"chars": 4764,
"preview": "/*!\n * Bootstrap Table of Contents v0.4.1 (http://afeld.github.io/bootstrap-toc/)\n * Copyright 2015 Aidan Feldman\n * Lic"
},
{
"path": "docs/docsearch.css",
"chars": 11758,
"preview": "/* Docsearch -------------------------------------------------------------- */\n/*\n Source: https://github.com/algolia/d"
},
{
"path": "docs/docsearch.js",
"chars": 2018,
"preview": "$(function() {\n\n // register a handler to move the focus to the search bar\n // upon pressing shift + \"/\" (i.e. \"?\")\n "
},
{
"path": "docs/index.html",
"chars": 16761,
"preview": "<!DOCTYPE html>\n<!-- Generated by pkgdown: do not edit by hand --><html lang=\"en\">\n<head>\n<meta http-equiv=\"Content-Type"
},
{
"path": "docs/news/index.html",
"chars": 15967,
"preview": "<!-- Generated by pkgdown: do not edit by hand -->\n<!DOCTYPE html>\n<html lang=\"en\">\n <head>\n <meta charset=\"utf-8\">\n<m"
},
{
"path": "docs/pkgdown.css",
"chars": 7308,
"preview": "/* Sticky footer */\n\n/**\n * Basic idea: https://philipwalton.github.io/solved-by-flexbox/demos/sticky-footer/\n * Details"
},
{
"path": "docs/pkgdown.js",
"chars": 3248,
"preview": "/* http://gregfranko.com/blog/jquery-best-practices/ */\n(function($) {\n $(function() {\n\n $('.navbar-fixed-top').head"
},
{
"path": "docs/pkgdown.yml",
"chars": 88,
"preview": "pandoc: 3.1.8\npkgdown: 2.0.7\npkgdown_sha: ~\narticles: {}\nlast_built: 2023-10-02T01:36Z\n\n"
},
{
"path": "docs/reference/change_to_name.html",
"chars": 5910,
"preview": "<!DOCTYPE html>\n<!-- Generated by pkgdown: do not edit by hand --><html lang=\"en\"><head><meta http-equiv=\"Content-Type\" "
},
{
"path": "docs/reference/d3_dep_jetpack.html",
"chars": 13378,
"preview": "<!DOCTYPE html>\n<!-- Generated by pkgdown: do not edit by hand --><html lang=\"en\"><head><meta http-equiv=\"Content-Type\" "
},
{
"path": "docs/reference/d3_dep_v3.html",
"chars": 7930,
"preview": "<!DOCTYPE html>\n<!-- Generated by pkgdown: do not edit by hand --><html lang=\"en\"><head><meta http-equiv=\"Content-Type\" "
},
{
"path": "docs/reference/d3_dep_v4.html",
"chars": 7778,
"preview": "<!DOCTYPE html>\n<!-- Generated by pkgdown: do not edit by hand --><html lang=\"en\"><head><meta http-equiv=\"Content-Type\" "
},
{
"path": "docs/reference/d3_dep_v5.html",
"chars": 7778,
"preview": "<!DOCTYPE html>\n<!-- Generated by pkgdown: do not edit by hand --><html lang=\"en\"><head><meta http-equiv=\"Content-Type\" "
},
{
"path": "docs/reference/d3_dep_v6.html",
"chars": 7778,
"preview": "<!DOCTYPE html>\n<!-- Generated by pkgdown: do not edit by hand --><html lang=\"en\"><head><meta http-equiv=\"Content-Type\" "
},
{
"path": "docs/reference/d3_dep_v7.html",
"chars": 7778,
"preview": "<!DOCTYPE html>\n<!-- Generated by pkgdown: do not edit by hand --><html lang=\"en\"><head><meta http-equiv=\"Content-Type\" "
},
{
"path": "docs/reference/d3_igraph.html",
"chars": 10091,
"preview": "<!DOCTYPE html>\n<!-- Generated by pkgdown: do not edit by hand --><html lang=\"en\"><head><meta http-equiv=\"Content-Type\" "
},
{
"path": "docs/reference/d3_json.html",
"chars": 5966,
"preview": "<!DOCTYPE html>\n<!-- Generated by pkgdown: do not edit by hand --><html lang=\"en\"><head><meta http-equiv=\"Content-Type\" "
},
{
"path": "docs/reference/d3_nest.html",
"chars": 22717,
"preview": "<!DOCTYPE html>\n<!-- Generated by pkgdown: do not edit by hand --><html lang=\"en\"><head><meta http-equiv=\"Content-Type\" "
},
{
"path": "docs/reference/d3_party.html",
"chars": 9954,
"preview": "<!-- Generated by pkgdown: do not edit by hand -->\n<!DOCTYPE html>\n<html lang=\"en\">\n <head>\n <meta charset=\"utf-8\">\n<m"
},
{
"path": "docs/reference/d3_table.html",
"chars": 7806,
"preview": "<!-- Generated by pkgdown: do not edit by hand -->\n<!DOCTYPE html>\n<html lang=\"en\">\n <head>\n <meta charset=\"utf-8\">\n<m"
},
{
"path": "docs/reference/d3_v8.html",
"chars": 15938,
"preview": "<!-- Generated by pkgdown: do not edit by hand -->\n<!DOCTYPE html>\n<html lang=\"en\">\n <head>\n <meta charset=\"utf-8\">\n<m"
},
{
"path": "docs/reference/index.html",
"chars": 7565,
"preview": "<!DOCTYPE html>\n<!-- Generated by pkgdown: do not edit by hand --><html lang=\"en\"><head><meta http-equiv=\"Content-Type\" "
},
{
"path": "docs/reference/libs/htmlwidgets-1.6.1/htmlwidgets.js",
"chars": 33190,
"preview": "(function() {\n // If window.HTMLWidgets is already defined, then use it; otherwise create a\n // new object. This allow"
},
{
"path": "docs/reference/libs/jsonedit-binding-3.0.0/jsonedit.js",
"chars": 676,
"preview": "HTMLWidgets.widget({\n\n name: 'jsonedit',\n\n type: 'output',\n\n initialize: function(el, width, height) {\n\n return { "
},
{
"path": "docs/reference/promote_na.html",
"chars": 5899,
"preview": "<!-- Generated by pkgdown: do not edit by hand -->\n<!DOCTYPE html>\n<html lang=\"en\">\n <head>\n <meta charset=\"utf-8\">\n<m"
},
{
"path": "docs/reference/promote_na_one.html",
"chars": 5880,
"preview": "<!-- Generated by pkgdown: do not edit by hand -->\n<!DOCTYPE html>\n<html lang=\"en\">\n <head>\n <meta charset=\"utf-8\">\n<m"
},
{
"path": "inst/examples/example_d3_annotation.R",
"chars": 4480,
"preview": "library(d3r)\nlibrary(htmltools)\nlibrary(pipeR)\n\nd3_ann <- htmlDependency(\n name = \"d3-annotation\",\n version = \"1.12.1\""
},
{
"path": "inst/examples/example_d3_jetpack.R",
"chars": 812,
"preview": "\\dontrun{\n\nlibrary(d3r)\nlibrary(htmltools)\n\ntl <- tagList(tags$script(HTML(sprintf(\n\"\nvar x = 5;\n\nvar svg = d3.select('b"
},
{
"path": "inst/examples/example_d3_v8.R",
"chars": 2262,
"preview": "\\dontrun{\n\n# to do this all in R, please see ggraph\n# https://github.com/thomasp85/ggraph\n# by Thomas Lin Pedersen\nlibra"
},
{
"path": "inst/examples/example_draw_igraph_with_layout.R",
"chars": 2510,
"preview": "library(htmltools)\nlibrary(d3r)\nlibrary(igraph)\nlibrary(scales)\n\nd3_draw_igraph <- function(\n igrf, layout=layout.auto,"
},
{
"path": "inst/examples/example_igraph.R",
"chars": 460,
"preview": "\\dontrun{\nlibrary(igraph)\nlibrary(igraphdata)\nlibrary(d3r)\n\n# with random graph\nd3r::d3_igraph(igraph::sample_pa(100))\n\n"
},
{
"path": "inst/examples/example_rpart.R",
"chars": 651,
"preview": "\\dontrun{\n\n library(d3r)\n # from ?rpart\n data(\"kyphosis\", package=\"rpart\")\n d3_party(\n rpart::rpart(Kyphosis ~ Ag"
},
{
"path": "inst/examples/example_table.R",
"chars": 481,
"preview": "# convert Titanic to a nested d3 hierarchy\n\n# devtools::install_github(\"timelyportfolio/d3r\")\nlibrary(d3r)\nlibrary(dplyr"
},
{
"path": "inst/examples/example_treemap.R",
"chars": 445,
"preview": "\\dontrun{\n library(treemap)\n library(d3r)\n library(dplyr)\n library(tidyr)\n\n treemap::random.hierarchical.data() %>%"
},
{
"path": "inst/examples/why_d3R.Rmd",
"chars": 3417,
"preview": "---\ntitle: \"Why d3r?\"\nauthor: \"Kenton Russell\"\ndate: \"August 28, 2016\"\noutput:\n html_document:\n mathjax: null\n th"
},
{
"path": "inst/www/d3/d3-jetpack/LICENSE",
"chars": 1468,
"preview": "Copyright {YEAR}, {OWNER}\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without modif"
},
{
"path": "inst/www/d3/d3-jetpack/README.md",
"chars": 12340,
"preview": "d3-jetpack is a set of nifty convenience wrappers that speed up your daily work with d3.js\n\n[ {\n\tt"
},
{
"path": "inst/www/d3/d3-jetpack/package.json",
"chars": 1763,
"preview": "{\n \"name\": \"d3-jetpack\",\n \"version\": \"2.0.9\",\n \"description\": \"d3-jetpack is a set of nifty convenience wrappers that"
},
{
"path": "inst/www/d3/v3/LICENSE",
"chars": 1429,
"preview": "Copyright (c) 2010-2016, Michael Bostock\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with o"
},
{
"path": "inst/www/d3/v4/API.md",
"chars": 128297,
"preview": "# D3 API Reference\n\nD3 4.0 is a [collection of modules](https://github.com/d3) that are designed to work together; you c"
},
{
"path": "inst/www/d3/v4/CHANGES.md",
"chars": 138907,
"preview": "# Changes in D3 4.0\n\nD3 4.0 is modular. Instead of one library, D3 is now [many small libraries](#table-of-contents) tha"
},
{
"path": "inst/www/d3/v4/LICENSE",
"chars": 1475,
"preview": "Copyright 2010-2017 Mike Bostock\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or withou"
},
{
"path": "inst/www/d3/v4/README.md",
"chars": 2293,
"preview": "# D3: Data-Driven Documents\n\n<a href=\"https://d3js.org\"><img src=\"https://d3js.org/logo.svg\" align=\"left\" hspace=\"10\" vs"
},
{
"path": "inst/www/d3/v5/API.md",
"chars": 140579,
"preview": "# D3 API Reference\n\nD3 is a [collection of modules](https://github.com/d3) that are designed to work together; you can u"
},
{
"path": "inst/www/d3/v5/CHANGES.md",
"chars": 143065,
"preview": "# Changes in D3 5.0\n\n[Released March 22, 2018.](https://github.com/d3/d3/releases/tag/v5.0.0)\n\n*This document covers onl"
},
{
"path": "inst/www/d3/v5/LICENSE",
"chars": 1475,
"preview": "Copyright 2010-2017 Mike Bostock\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or withou"
},
{
"path": "inst/www/d3/v5/README.md",
"chars": 2301,
"preview": "# D3: Data-Driven Documents\n\n<a href=\"https://d3js.org\"><img src=\"https://d3js.org/logo.svg\" align=\"left\" hspace=\"10\" vs"
},
{
"path": "inst/www/d3/v6/API.md",
"chars": 154343,
"preview": "# D3 API Reference\n\nD3 is a [collection of modules](https://github.com/d3) that are designed to work together; you can u"
},
{
"path": "inst/www/d3/v6/CHANGES.md",
"chars": 160017,
"preview": "# Changes in D3 6.0\n\n[Released August 26, 2020.](https://github.com/d3/d3/releases/tag/v6.0.0)\n\n*This document covers on"
},
{
"path": "inst/www/d3/v6/LICENSE",
"chars": 1475,
"preview": "Copyright 2010-2020 Mike Bostock\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or withou"
},
{
"path": "inst/www/d3/v6/README.md",
"chars": 2305,
"preview": "# D3: Data-Driven Documents\n\n<a href=\"https://d3js.org\"><img src=\"https://d3js.org/logo.svg\" align=\"left\" hspace=\"10\" vs"
},
{
"path": "inst/www/d3/v7/API.md",
"chars": 158650,
"preview": "# D3 API Reference\n\nD3 is a [collection of modules](https://github.com/d3) that are designed to work together; you can u"
},
{
"path": "inst/www/d3/v7/CHANGES.md",
"chars": 161153,
"preview": "# Changes in D3 7.0\n\n[Released June 11, 2021.](https://github.com/d3/d3/releases/tag/v7.0.0)\n\n*This document covers only"
},
{
"path": "inst/www/d3/v7/LICENSE",
"chars": 731,
"preview": "Copyright 2010-2023 Mike Bostock\n\nPermission to use, copy, modify, and/or distribute this software for any purpose\nwith "
},
{
"path": "inst/www/d3/v7/README.md",
"chars": 2478,
"preview": "# D3: Data-Driven Documents\n\n<a href=\"https://d3js.org\"><img src=\"https://d3js.org/logo.svg\" align=\"left\" hspace=\"10\" vs"
},
{
"path": "man/change_to_name.Rd",
"chars": 440,
"preview": "% Generated by roxygen2: do not edit by hand\n% Please edit documentation in R/hierarchy.R\n\\name{change_to_name}\n\\alias{c"
},
{
"path": "man/d3_dep_jetpack.Rd",
"chars": 1757,
"preview": "% Generated by roxygen2: do not edit by hand\n% Please edit documentation in R/dependencies.R\n\\name{d3_dep_jetpack}\n\\alia"
},
{
"path": "man/d3_dep_v3.Rd",
"chars": 855,
"preview": "% Generated by roxygen2: do not edit by hand\n% Please edit documentation in R/dependencies.R\n\\name{d3_dep_v3}\n\\alias{d3_"
},
{
"path": "man/d3_dep_v4.Rd",
"chars": 855,
"preview": "% Generated by roxygen2: do not edit by hand\n% Please edit documentation in R/dependencies.R\n\\name{d3_dep_v4}\n\\alias{d3_"
},
{
"path": "man/d3_dep_v5.Rd",
"chars": 855,
"preview": "% Generated by roxygen2: do not edit by hand\n% Please edit documentation in R/dependencies.R\n\\name{d3_dep_v5}\n\\alias{d3_"
},
{
"path": "man/d3_dep_v6.Rd",
"chars": 855,
"preview": "% Generated by roxygen2: do not edit by hand\n% Please edit documentation in R/dependencies.R\n\\name{d3_dep_v6}\n\\alias{d3_"
},
{
"path": "man/d3_dep_v7.Rd",
"chars": 855,
"preview": "% Generated by roxygen2: do not edit by hand\n% Please edit documentation in R/dependencies.R\n\\name{d3_dep_v7}\n\\alias{d3_"
},
{
"path": "man/d3_igraph.Rd",
"chars": 838,
"preview": "% Generated by roxygen2: do not edit by hand\n% Please edit documentation in R/igraph.R\n\\name{d3_igraph}\n\\alias{d3_igraph"
},
{
"path": "man/d3_json.Rd",
"chars": 489,
"preview": "% Generated by roxygen2: do not edit by hand\n% Please edit documentation in R/json.R\n\\name{d3_json}\n\\alias{d3_json}\n\\tit"
},
{
"path": "man/d3_nest.Rd",
"chars": 1638,
"preview": "% Generated by roxygen2: do not edit by hand\n% Please edit documentation in R/hierarchy.R\n\\name{d3_nest}\n\\alias{d3_nest}"
},
{
"path": "man/d3_party.Rd",
"chars": 1175,
"preview": "% Generated by roxygen2: do not edit by hand\n% Please edit documentation in R/party.R\n\\name{d3_party}\n\\alias{d3_party}\n\\"
},
{
"path": "man/d3_table.Rd",
"chars": 709,
"preview": "% Generated by roxygen2: do not edit by hand\n% Please edit documentation in R/table.R\n\\name{d3_table}\n\\alias{d3_table}\n\\"
},
{
"path": "man/d3_v8.Rd",
"chars": 2607,
"preview": "% Generated by roxygen2: do not edit by hand\n% Please edit documentation in R/v8.R\n\\name{d3_v8}\n\\alias{d3_v8}\n\\title{Cre"
},
{
"path": "man/promote_na.Rd",
"chars": 307,
"preview": "% Generated by roxygen2: do not edit by hand\n% Please edit documentation in R/hierarchy.R\n\\name{promote_na}\n\\alias{promo"
},
{
"path": "man/promote_na_one.Rd",
"chars": 305,
"preview": "% Generated by roxygen2: do not edit by hand\n% Please edit documentation in R/hierarchy.R\n\\name{promote_na_one}\n\\alias{p"
},
{
"path": "tests/testthat/test_deps.R",
"chars": 2106,
"preview": "context(\"dependencies\")\n\nv3 <- d3_dep_v3()\nv3_offline <- d3_dep_v3(offline=FALSE)\n\nv4 <- d3_dep_v4()\nv4_offline <- d3_de"
},
{
"path": "tests/testthat/test_hier.R",
"chars": 3164,
"preview": "context(\"hierarchy\")\n\nhier <- data.frame(\n lvl1 = c(rep(\"A\",4), rep(\"B\",3)),\n lvl2 = c(rep(\"A.1\",2),rep(\"A.2\",2),\"B.1\""
},
{
"path": "tests/testthat/test_igraph.R",
"chars": 1947,
"preview": "context(\"igraph\")\n\ntest_that(\"d3_igraph works\",{\n skip_if_not_installed(\"igraph\")\n skip_if_not_installed(\"jsonlite\")\n "
},
{
"path": "tests/testthat/test_table.R",
"chars": 1075,
"preview": "context(\"table\")\n\ntest_that(\"d3_table works with 1 var\", {\n expect_identical(\n d3_table(UCBAdmissions,\"Admit\"),\n "
},
{
"path": "tests/testthat/test_v8.R",
"chars": 260,
"preview": "context(\"V8context\")\n\ntest_that(\"d3_v8 has d3\", {\n skip_if_not_installed(\"V8\")\n skip_on_cran()\n skip_on_travis()\n\n #"
},
{
"path": "tests/testthat.R",
"chars": 50,
"preview": "library(testthat)\nlibrary(d3r)\n\ntest_check(\"d3r\")\n"
}
]
About this extraction
This page contains the full source code of the timelyportfolio/d3r GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 105 files (1.5 MB), approximately 471.2k tokens, and a symbol index with 44 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.