An R package for creating interactive d3.js
visualizations using htmlwidgets. Supports 17 chart types
including scatter plots, line charts, bar charts, treemaps, and more —
all composable through a piped API.
# install.packages("devtools")
devtools::install_github("mortonanalytics/myIO")Build plots by piping layers together with myIO() and
addIoLayer():
library(myIO)
myIO() |>
addIoLayer(
type = "point",
color = "#E69F00",
label = "points",
data = mtcars,
mapping = list(x_var = "wt", y_var = "mpg")
) |>
addIoLayer(
type = "line",
transform = "lm",
color = "red",
label = "trend",
data = mtcars,
mapping = list(x_var = "wt", y_var = "mpg")
)| Type | type value |
|---|---|
| Scatter plot | "point" |
| Line chart | "line" |
| Bar chart | "bar" |
| Grouped bar chart | "groupedBar" |
| Area chart | "area" |
| Histogram | "histogram" |
| Heatmap | "heatmap" |
| Candlestick | "candlestick" |
| Waterfall | "waterfall" |
| Sankey | "sankey" |
| Boxplot | "boxplot" |
| Violin | "violin" |
| Ridgeline | "ridgeline" |
| Donut chart | "donut" |
| Gauge chart | "gauge" |
| Hexbin plot | "hexbin" |
| Treemap | "treemap" |
addIoLayer()| Argument | Description |
|---|---|
type |
Chart type (see table above) |
color |
Any CSS color string |
label |
Unique identifier for the layer |
data |
A data frame |
mapping |
List mapping variables,
e.g. list(x_var = "wt", y_var = "mpg") |
transform |
Optional derived-data transform, e.g. "identity" or
"lm" |
myIO charts are bidirectional — user actions flow back as structured data:
setBrush() — Rectangle select returns selected rows as
datasetAnnotation() — Click to label data points; export
annotations as CSVsetLinked() — Crosstalk linked brushing across multiple
chartssetSlider() — Parameter sliders that trigger Shiny
recomputationCustomize plots by chaining additional functions:
setAxisFormat() — Set d3.js axis formats and
labelssetAxisLimits() — Set axis rangesdefineCategoricalAxis() — Define a categorical
axissetMargin() — Adjust chart marginssetColorScheme() — Apply a custom color palettesetTheme() — Set theme tokens (colors, font,
background)setTransitionSpeed() — Control animation durationsetToolTipOptions() — Configure tooltip behaviorsetToggle() — Enable layer toggle controlsflipAxis() — Swap x and y axessuppressAxis() — Hide axessuppressLegend() — Hide the legenddragPoints() — Enable draggable pointssetReferenceLines() — Add reference linesSee the Getting Started, Chart Types, Shiny Integration, and Transforms & Theming vignettes for full examples.