First stable API release of the declarative plotit pipeline on top of ggplot2
(>= 4.0.0). The 1.0 contract covers verb-prefix construction (plotit /
encode), 43 mark_* layers, scale/project/split/label/style/export, graph
layouts, and multi-panel compose_*.
plotit()/encode(): WYSIWYG Nature single-column panel default (89 x 56 mm), tidyplots-calibrated theme tokens, friendly/viridis default palettes via a single colour-scale decision point.- Discrete colour/fill mirroring attaches the twin channel with
guide = "none"so one group variable never renders two legends. add_ggplot()escape hatch for raw ggplot2 components without leaving the pipe.
- Basic geometry: point, line, area, bar, rect, polygon, text, label, rule, path, step, rug, spoke, curve, histogram, density, boxplot, violin, map.
- Statistical: smooth, hex, bin2d, density_2d, contour, count, corr, heatmap, ecdf, qq, qq_line.
- Composite / relational: significance, errorbar, ribbon, lollipop, dumbbell, forest, beeswarm, image, encircle, sankey, treemap, network, chord.
mark_errorbar/mark_ribbon: statistical entities (mean_sem/mean_sd/mean_range/mean_ci95); cap width is method-injected only forcaps = TRUE(token 0.4).mark_barno longer replaces a pre-installed continuous y scale when applying the tidyplots lower-expand flush.mark_rulesegment path shares the reference-line linewidth default.mark_maplayer-level colour/fill mappings use the curated default palette decision point.make_mark()registers methods under the requested mark name so style defaults and chrome lookups resolve correctly.
scale_*: Vega-style trans/range matrix; colour schemes include sequential viridis family and diverging anchors (mid=);scale_radius()is defunct in favour ofscale_size().project_polar()supportsstart/end/reverse/rotate_angle;directionis deprecated in favour ofreverse.project_parallel(),project_cartesian(),project_map().label_*three-parameter protocol (reset>hide>text); hide is logical FALSE only (literal"FALSE"is text).style()accepts a theme object or a theme function; font args forwarded to theme functions and warned when a complete theme object is also given.
as_graph(),layout_force(),layout_circle(),layout_tree(),layout_dendrogram(),layout_sankey(),layout_chord(),layout_treemap()— pure-R engines (no igraph/ggraph/circlize/ggsankey).- Relational sugar marks:
mark_sankey,mark_treemap,mark_network,mark_chordover edges-table API; formuladata = ~nodes/~edgesagainst@graph.
compose_grid()(design layouts, axis-title sharing),compose_inset(),compose_marginal(),compose_annot().- Nested composites apply inner annotations before outer assembly.
compose_annot(gap=)no longer absorbs spacer rows into the base cell.- Default composite canvas sizes account for present marginal sides, annot strips + gaps, and design grid geometry.
- Inset legend parking uses patchwork
&for composite insets.
export()for single plots and composites;dpidefault 600; multipage PDF when given a list of plotit objects.
- Five-article pkgdown IA (Get Started, Gallery, Advanced, API, Design Goals).
- NEWS.md summarises the 1.0 surface; README lifecycle set to maturing.