Changelog
Source:NEWS.md
VizModules 0.2.0
CRAN release: 2026-06-16
- Created the Figure Builder app so that users can dynamically construct multi-panel figures using different data sets and plot types on a single page. Allows for full page SVG export, source data dump organized per panel, and full customization of plot position and size.
- All
*OutputUI()functions gained aresizableargument (defaultTRUE). WhenFALSE, the plot output is no longer wrapped inshinyjqui::jqui_resizable(), which avoids a redundant resize handle when the output is embedded in a container that already provides resizing (such as the Figure Builder app cards). - Added a new
plotthis_DotPlotmodule (plotthis_DotPlotInputsUI(),plotthis_DotPlotOutputUI(),plotthis_DotPlotServer(), and theplotthis_DotPlotApp()convenience wrapper) that wrapsplotthis::DotPlot()for interactive dot plots, including a custom dot-size legend since plotly still lacks that capability. - Added the
example_markersdataset, a simulated single-cell marker-gene expression table (immune cell types × marker genes) used as the default example data for the DotPlot module. - Added “Source Data” download button at the bottom of every module’s control panel. The button creates and downloads a ZIP file containing a self-contained HTML of the plotly plot, a CSV of the plot data (retrieved via
plotly::plotly_data()), and for modules with statistics enabled (Box / Violin / yPlot), a table of the statistics info. Source downloads are now built from the exportedcollect_source_data()andcreate_source_download_handler()helpers, and each module server returns its source reactive so it can be reused (e.g. by the Figure Builder). Given source data is now required by many journals, this is important. - Removed old interactive plot download button and associated helper function.
- Removed old dynamically hidden stats download button and associated logic, since stats are now included in the source download when applicable.
- Statistic helper functions are now exported allowing users to annotate plotly graphs with custom statistics:
compute_pairwise_stats(),create_stat_annotations(),apply_stat_annotations(),generate_pair_strings(), andparse_pair_strings(). - Exposed
empty_plot()for use as a placeholder, e.g. if parameters aren’t valid for a given plot type, to pass that info to user without ugly error messages. - Faceting improvements - new internal helpers that control subplot spacing, subplot size, and facet_scale handling. This fixes much of the wonkiness for plots with many panels. Uniform inputs added for panel spacing across all modules.
- Axis titles now uniformly added as annotations to allow interactive repositioning.
- Condensed package wide workflows with simple helpers, e.g.
.apply_title_layout(), resulting in significantly less jank. - Axis adjustments are now properly reflected in axis/legend titles for appropriate modules, e.g.
yPlot,scatterPlot,linePlot. - Removed a handful of spurious/non-functional inputs, particularly for the
dittoViz_scatterPlotmodule. - Custom
size.bylegends added forplotthis_DotPlotanddittoViz_scatterPlotmodules, since plotly does not yet support these. - Update docstrings to reflect new inputs and features and clarify which parameters of underlying plotting functions may not be implemented.
- Various border fixes for faceted plots.