pymyIO Chart Gallery

Interactive D3.js visualizations from Python. Same engine as R-myIO.

34 Chart Types

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.

Statistical Transforms

Built-in CI bands, mean ± CI error bars, OLS / polynomial regression, residuals, Q-Q quantiles. Pure Python — no scipy required.

Bidirectional I/O

Brush to select, click to annotate, link charts with link_charts(), and add parameter sliders. Events flow back to Python via traitlets.

Engine parity with R

Same vendored myIOapi.js as R-myIO. Same JSON config. Same renders. One source of truth, two language wrappers.

Use the tabs above to explore each chart type.

Documentation Source

Selected Points


                

Annotations

Click a point to add a label.

Brush points in the left chart to highlight matching rows in the right.

Inline Sparklines

Revenue Trend
User Growth
Error Rate

Charts not yet rendering on 0.1.x

Statistical transforms and composite expansions still pending. All other tabs render against the live d3 engine.

Survival (Kaplan-Meier) — survfit — PYMYIO-T03, target 0.3.0

Composite expansion still emits transform=survfit which renders the line layer but expects per-row Greenwood SE fields the engine doesn't synthesize.

Distribution fit — histogram_fit — PYMYIO-T04, target 0.3.0

Composite still emits transform=fit_distribution on the line layer; needs the equivalent of R's composite_histogram_fit to bin + scale.

Pairwise tests (comparison brackets) — PYMYIO-T05, target 0.3.0

Bracket renderer needs the pairwise_test transform output in a specific shape; composite expansion not yet ported.

Mean ± CI on rangeBar — pymyio required-mapping bug (PYMYIO-C05)

rangeBar requires low_y/high_y at validation time, but the R-parity {x_var, y_var} call relies on the mean_ci transform to synthesize the band. Required-mapping check needs to be transform-aware.

Full roadmap →