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" |
| 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 recomputation
Customize 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 lines
See the Getting Started, Chart Types, Shiny Integration, and Transforms & Theming vignettes for full examples.