Need help with d3r?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

timelyportfolio
133 Stars 16 Forks Other 161 Commits 1 Opened issues

Description

d3.js helpers for R

Services available

!
?

Need anything else?

Contributors list

# 60,540
R
JavaScr...
React
htmlwid...
147 commits
# 568,232
data-vi...
R
JavaScr...
cran
7 commits
# 55,399
css-tra...
angular...
scrollb...
vanilla...
1 commit
# 42,028
R
excel
google-...
TeX
1 commit

CRAN\_Status\_Badge Travis-CI Build
Status Coverage
Status

Why d3r?

Please see this Building Widgets blog post Why d3r?.

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()
, and the newest
d3_dep_v6()
. 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_v6() ) )

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_v6() ) )

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 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
.
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

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. By participating in this project you agree to abide by its terms.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.