Interactive D3.js visualizations from Python. Same engine as R-myIO.
Scatter, line, bar, area, histogram, donut, gauge, treemap, hexbin, heatmap, candlestick, waterfall, sankey, boxplot, violin, ridgeline, regression, Q-Q, lollipop, dumbbell, waffle, beeswarm, bump, radar, funnel, calendar heatmap, sparklines, small multiples.
Built-in CI bands, mean ± CI error bars, OLS / polynomial regression, residuals, Q-Q quantiles. Pure Python — no scipy required.
Brush to select, click to annotate, link charts with link_charts(), and add parameter sliders. Events flow back to Python via traitlets.
Same vendored myIOapi.js as R-myIO. Same JSON config. Same renders. One source of truth, two language wrappers.
Click a point to add a label.
Brush points in the left chart to highlight matching rows in the right.
All chart types and transforms render against the live d3 engine, with no pre-validation gaps remaining.
The required-mapping check is now transform-aware: the R-parity {x_var, y_var} call validates against the mean_ci transform's synthesized low_y/high_y band. area likewise accepts an explicit band without a center y_var.