Skip to content

ggrust 0.6.0

Choose a tag to compare

@Zaf4 Zaf4 released this 05 Nov 21:53
· 197 commits to main since this release

Highlights

  • Side panels and marginal plots: ggside-style side layers and lets-plot's ggmarginal().
  • Plot files: ggsave(plot, "x.ggrs") writes a self-contained plot file, ggload("x.ggrs") opens it.
  • Notebook output mode is now chosen with ggrust.display(mode).

Added

  • Side panels (ggside): geom_xside* / geom_yside* layers for tile, bar, col, histogram, density, point, boxplot, violin, line and text; scale_xsidey_* / scale_ysidex_*; ggside(x_pos=, y_pos=); theme(ggside_panel_scale*, ggside_panel_spacing*). Bands follow coord_flip, axis position= and HTML zoom.
  • ggmarginal(sides, size, layer), with the same spec as lets_plot.
  • .ggrs plot files: ggsave(plot, "x.ggrs") stores the spec, data (Arrow IPC) and registered fonts in one zip; ggload("x.ggrs") restores it (polars, pandas, pyarrow or dict data). Loading runs no code and verifies sizes and hashes.
  • ggrust.display("html" | "svg" | "png") picks what notebooks show: interactive HTML (default), static SVG without JavaScript, or PNG.
  • Boxplot tooltips show each statistic as a lets-plot style side tooltip.
  • Docs: a guide page and gallery section for the built-in ggplot2 extensions, with credits to the R packages.

Changed

  • ggtb() shows the layers menu by default; pass layers=False to remove it.

Breaking

  • The LetsPlot shim is removed. Delete LetsPlot.setup_html() calls; use ggrust.display(mode) to switch output. display is not in __all__, so from ggrust import * does not shadow IPython's display().

Fixed

  • Side band axes: discrete labels are no longer blanked and get room to fit; thin continuous bands keep at least one label.