Skip to contents

ScatterPlot Module

dittoViz-based interactive scatter plot module.

dittoViz_scatterPlotApp()
Create an example Modular scatterPlot Shiny Application
dittoViz_scatterPlotInputsUI()
Input UI components for the scatterPlot module
dittoViz_scatterPlotOutputUI()
Output UI components for the scatterPlot module
dittoViz_scatterPlotServer()
Server logic for scatterPlot module

yPlot Module

dittoViz-based Y-axis plot module (box, violin, ridgeplot, etc.).

dittoViz_yPlotApp()
Create an example Modular yPlot Shiny Application
dittoViz_yPlotInputsUI()
Input UI components for the yPlot module
dittoViz_yPlotOutputUI()
Output UI components for the yPlot module
dittoViz_yPlotServer()
Server logic for yPlot module

freqPlot Module

dittoViz-based composition/frequency plot module (per-sample frequencies by group).

dittoViz_freqPlotApp()
Create an example Modular freqPlot Shiny Application
dittoViz_freqPlotInputsUI()
Input UI components for the freqPlot module
dittoViz_freqPlotOutputUI()
Output UI components for the freqPlot module
dittoViz_freqPlotServer()
Server logic for freqPlot module

linePlot Module

Interactive line plot module.

linePlot()
Create an Interactive Line Plot with plotly
linePlotApp()
Create an example Modular linePlot Shiny Application
linePlotInputsUI()
Input UI components for the linePlot module
linePlotOutputUI()
Output UI components for the linePlot module
linePlotServer()
Server logic for linePlot module

dumbbellPlot Module

Interactive dumbbell plot module.

dumbbellPlot()
Create an Interactive Dumbbell Plot with plotly
dumbbellPlotApp()
Create a Shiny App for Dumbbell Plots
dumbbellPlotInputsUI()
Input UI components for the dumbbellPlot module
dumbbellPlotOutputUI()
Output UI components for the dumbbellPlot module
dumbbellPlotServer()
Server logic for dumbbellPlot module

piePlot Module

Interactive pie/donut chart module.

piePlot()
Create a plotly pie chart
piePlotApp()
Create an example Modular piePlot Shiny Application
piePlotInputsUI()
Input UI components for the piePlot module
piePlotOutputUI()
Output UI components for the piePlot module
piePlotServer()
Server logic for piePlot module

radarPlot Module

Interactive radar/spider chart module.

radarPlot()
Create a plotly radar chart
radarPlotApp()
Create an example Modular radarPlot Shiny Application
radarPlotInputsUI()
Input UI components for the radarPlot module
radarPlotOutputUI()
Output UI components for the radarPlot module
radarPlotServer()
Server logic for radarPlot module

parallelCoordinatesPlot Module

Interactive parallel coordinates plot module.

parallelCoordinatesPlot()
Create an Interactive Parallel Coordinates Plot with plotly
parallelCoordinatesPlotApp()
Create an example Modular parallelCoordinatesPlot Shiny Application
parallelCoordinatesPlotInputsUI()
Input UI components for the parallelCoordinatesPlot module
parallelCoordinatesPlotOutputUI()
Output UI components for the parallelCoordinatesPlot module
parallelCoordinatesPlotServer()
Server logic for parallelCoordinatesPlot module

AreaPlot Module

plotthis-based interactive area plot module.

plotthis_AreaPlotApp()
Create an example Modular AreaPlot Shiny Application
plotthis_AreaPlotInputsUI()
Input UI components for the AreaPlot module
plotthis_AreaPlotOutputUI()
Output UI components for the AreaPlot module
plotthis_AreaPlotServer()
Server logic for AreaPlot module

BarPlot Module

plotthis-based interactive bar plot module.

plotthis_BarPlotApp()
Create an example Modular BarPlot Shiny Application
plotthis_BarPlotInputsUI()
Input UI components for the BarPlot module
plotthis_BarPlotOutputUI()
Output UI components for the BarPlot module
plotthis_BarPlotServer()
Server logic for BarPlot module

SplitBarPlot Module

plotthis-based interactive split/stacked bar plot module.

plotthis_SplitBarPlotApp()
Create an example Modular SplitBarPlot Shiny Application
plotthis_SplitBarPlotInputsUI()
Input UI components for the SplitBarPlot module
plotthis_SplitBarPlotOutputUI()
Output UI components for the SplitBarPlot module
plotthis_SplitBarPlotServer()
Server logic for SplitBarPlot module

BoxPlot Module

plotthis-based interactive box plot module.

plotthis_BoxPlotApp()
Create an example Modular BoxPlot Shiny Application
plotthis_BoxPlotInputsUI()
Input UI components for the BoxPlot module
plotthis_BoxPlotOutputUI()
Output UI components for the BoxPlot module
plotthis_BoxPlotServer()
Server logic for BoxPlot module

DensityPlot Module

plotthis-based interactive density plot module.

plotthis_DensityPlotApp()
Create an example Modular DensityPlot Shiny Application
plotthis_DensityPlotInputsUI()
Input UI components for the DensityPlot module
plotthis_DensityPlotOutputUI()
Output UI components for the DensityPlot module
plotthis_DensityPlotServer()
Density Plot Server Module

DotPlot Module

plotthis-based interactive dot plot module.

plotthis_DotPlotApp()
Create an example Modular DotPlot Shiny Application
plotthis_DotPlotInputsUI()
Input UI components for the DotPlot module
plotthis_DotPlotOutputUI()
Output UI components for the DotPlot module
plotthis_DotPlotServer()
Server logic for DotPlot module

Histogram Module

plotthis-based interactive histogram module.

plotthis_HistogramApp()
Create an example Modular Histogram Shiny Application
plotthis_HistogramInputsUI()
Input UI components for the Histogram module
plotthis_HistogramOutputUI()
Output UI components for the histogramPlot module
plotthis_HistogramServer()
Histogram Plot Server Module

Heatmap Module

ComplexHeatmap-based interactive heatmap module.

ComplexHeatmap_HeatmapApp()
Create an example Modular ComplexHeatmap Shiny Application
ComplexHeatmap_HeatmapInputsUI()
Input UI components for the ComplexHeatmap module
ComplexHeatmap_HeatmapOutputUI()
Output UI components for the ComplexHeatmap module
ComplexHeatmap_HeatmapStaticOutputUI()
Static (non-interactive) heatmap output UI component for the ComplexHeatmap module
ComplexHeatmap_HeatmapServer()
Server logic for the ComplexHeatmap module
ComplexHeatmap_HeatmapMainOutputUI()
Main heatmap output UI component for the ComplexHeatmap module
ComplexHeatmap_HeatmapSubOutputUI()
Sub-heatmap output UI component for the ComplexHeatmap module
ComplexHeatmap_HeatmapInfoOutputUI()
Click/brush info output UI component for the ComplexHeatmap module

dataFilter Module

Reusable data filtering module for use with plot modules.

dataFilterServer()
Server logic for the dataFilter module
dataFilterUI()
UI component for the dataFilter module
resolve_column_targets()
Translate column names or positions into DT column targets

The gallery of every module on its example data, and the multi-panel figure builder module.

moduleGalleryApp()
Launch the VizModules module gallery
figureBuilderApp()
Create a VizModules Figure Builder Application
figureBuilderServer()
Server logic for the Figure Builder module
figureBuilderUI()
UI component for the Figure Builder module

Custom Inputs & Widgets

Reusable custom Shiny inputs for use in module UIs.

multiColorPicker()
Compact multi-group color picker input
multiDynamicInput()
Dynamic multi-row input for repeating groups of inputs
updateMultiColorPicker()
Update a multiColorPicker input on the client
updateMultiDynamicInput()
Update a multiDynamicInput input on the client
level_order_input()
Drag-and-drop control for the order of a categorical axis
level_order_choices()
The levels a categorical column is plotted in, optionally reordered
apply_level_order()
Reorder the levels of a categorical column
setup_level_order()
Keep a level-order control in step with its column

UI Helpers

Utility functions for building and organising module UIs, and the server-side stores that keep a module’s own controls from costing an extra render.

createModuleApp()
Create an Example Module App from Any Module Trio
discrete_choices()
Choices for a categorical colour, shape, group or fill selector
empty_plot()
Create an empty ggplot2 plot or plotly plot with input text
facet_check()
Identify columns valid for faceting or splitting
hide_input()
Hide the grid cells wrapping module inputs
main_title_input_ids
Input IDs that style the main plot title
module_tack_ui()
Create standard tack UI for module inputs
na_to_null()
Convert NA or empty string to NULL
organize_inputs()
Organize arbitrary Shiny inputs into a grid layout
require_data_frame()
Require a data frame from a module's data reactive
reset_manual_edits()
Discard every captured manual layout edit
setup_auto_update_logic()
Set up auto-update/isolate logic for reactive contexts
setup_axis_range()
Track the axis limits a plot should draw with
setup_reactive_defaults()
Resolve reactive defaults entries into a server-side parameter store
show_input()
Show the grid cells wrapping module inputs
toggle_facet_title_inputs()
Match the title inputs to whether a plot is faceted
toggle_input_cell()
Hide or show the grid cell wrapping a module input
use_vizmodules_skills()
Install the bundled VizModules agent skills into a project
viz_select_input()
Create a select input that scales to very large choice sets
update_viz_select()
Update a select input created by viz_select_input
webgl_input()
The "Plot with WebGL" toggle for a module's point layers

Uniform UI Inputs

Standardised input builders and reset functions shared across modules.

uniform_axes_inputs_ui()
Generate uniform Axes input UI
uniform_colorscale_inputs_ui()
Generate uniform Color Scale input UI
uniform_legend_inputs_ui()
Generate uniform Legend input UI
uniform_lines_inputs_ui()
Generate uniform Lines input UI
uniform_plotly_inputs_ui()
Generate uniform Plotly input UI
uniform_stats_inputs_ui()
Generate uniform Stats input UI
uniform_subplot_spacing_inputs_ui()
Generate uniform subplot spacing input UI
subplot_spacing_defaults()
Resolve the subplot spacing defaults
uniform_annotation_inputs_ui()
Generate uniform Annotation input UI
reset_annotation_inputs()
Reset uniform Annotation inputs to defaults
reset_axes_inputs()
Reset uniform axes inputs to defaults
reset_colorscale_inputs()
Reset uniform Color Scale inputs to defaults
reset_legend_inputs()
Reset uniform Legend inputs to defaults
reset_lines_inputs()
Reset uniform lines inputs to defaults
reset_plotly_inputs()
Reset uniform Plotly inputs to defaults
reset_stats_inputs()
Reset uniform stats inputs to defaults
get_default()
Resolve a default value from a named list

Facet & Subplot Utilities

Functions for faceted/multi-panel subplot layout and styling.

apply_facet_subplot_spacing()
Apply custom subplot spacing to a faceted ggplotly figure
build_facet_annotations()
Build facet subplot annotations
build_facet_panel_borders()
Build paper-anchored panel border shapes for a faceted plotly figure
clean_facet_dim()
Clean and validate facet dimension value for lineplot module
resolve_facet_layout()
Resolve number of rows for a faceted subplot grid
resolve_facet_sharing()
Resolve facet axis sharing from facet.scales

Axes, Layout & Plotly Config

Functions for axis styling, layout, reference lines, and plotly configuration.

add_ablines()
Build diagonal (abline) line shapes for a plotly figure
add_hlines()
Build horizontal line shapes for a plotly figure
add_marginal_plots()
Add marginal distribution plots to a scatter plot
add_plot_config()
Create default Plotly configuration
add_reference_lines()
Add reference lines to a plotly figure from Shiny inputs
add_vlines()
Build vertical line shapes for a plotly figure
mark_overlay_axes()
Exempt a figure's overlay axes from the shared styling
adjusted_axis_label()
Build an adjustment-aware axis label
apply_axis_padding()
Set the padding between a figure's data and the edges of its plot area
apply_axis_title_to_annotations()
Apply axis title font styling to shared facet axis annotations
reset_axis_title_text()
Drop persisted axis-title text edits
apply_legend_styling()
Apply uniform legend styling to a plotly figure
apply_legend_inputs()
Apply the uniform Legend inputs to a plotly figure
add_size_legend()
Add a point-size legend to a plotly figure
apply_plotly_newshape()
Apply Plotly newshape styling from uniform Plotly inputs
apply_render_margins()
Apply standard render-time margin layout to a plotly figure
apply_subplot_axis_styling()
Apply axis styling to all subplot axes in a plotly figure
apply_tick_notation()
Set the notation of a figure's numeric tick labels
apply_title_layout()
Apply plot title styling to a plotly figure
apply_uniform_styling()
Apply the uniform styling inputs to a module's figure
auto_webgl()
Draw a figure's point layers with WebGL
axis_titles_as_annotations()
Convert native cartesian axis titles to draggable annotations
cached_structure()
Cache a module's plot step
create_axis_styles()
Create Plotly axis style list
create_ggplot_axis_style()
Create ggplot axis styling theme arguments
linetype_to_dash()
Convert linetype name to plotly dash style
recycle_line_style()
Recycle style vector to match line count
split_color_shape_legend()
Give a plot's colour and shape their own legend sections
string_to_linetypes()
Parse and validate linetype string to a vector
heatmap_fit_width()
Fit a hand-built InteractiveComplexHeatmap widget to its container's width

Point Highlighting & Labels

Helpers for highlighting and labelling individual points, for modules that adopt uniform_annotation_inputs_ui().

apply_highlight_styling()
Restyle highlighted points in a plotly figure
create_highlight_annotations()
Create annotations for highlighted points
create_selected_annotations()
Create annotations for selected points
merge_annotation_sets()
Merge two sets of plotly point annotations
parse_highlight_values()
Parse a highlight string into the values it names

Manual Plot Edits

Functions for applying user-drawn shapes and annotations to plotly figures.

finalize_manual_edits()
Render persistent manual plot layout edits across re-renders
setup_manual_edits()
Set up persistent manual plot layout edits across re-renders

Model Backends

Pluggable model fitting registry for custom model line overlays. Register new backends to support any modelling package (drc, mgcv, brms, etc.).

build_model_row_spec()
Build a dynamic row_spec from registered backends
get_model_backend()
Get a registered model backend
list_model_backends()
List registered model backends
register_model_backend()
Register a model backend

Statistical Utilities

Functions for computing and displaying pairwise statistical test annotations.

apply_stat_annotations()
Apply statistical annotation shapes and annotations to a plotly figure
compute_pairwise_stats()
Compute pairwise statistical tests between groups
default_stat_pairs()
Pick the comparisons a defaults list asks for from those on offer
create_stat_annotations()
Create plotly shapes and annotations for statistical test results
generate_pair_strings()
Generate comparison pair strings from data columns
note_brackets_skipped()
Tell the user why significance brackets are missing from the plot
parse_pair_strings()
Parse pair strings from UI into list of length-2 vectors
stat_bracket_headroom()
Bracket headroom for a module, read straight off its Stats tab
stat_bracket_y_max()
Y-axis top needed to draw statistical annotation brackets in full

Palette & Color Utilities

Functions for managing color palettes.

default_group_colors()
Extract a caller-supplied group color mapping from defaults
default_palettes()
Color palette options for palettePicker
flatten_palette_options()
Flatten nested palette options
reset_group_colors()
Restore a group color picker to its default mapping
resolve_colorscale()
Resolve a continuous colour scale for plotly
resolve_palette()
Resolve a color palette for plot groups
setup_group_colors()
Track the group-to-color mapping a plot should draw with

Export & Download Utilities

Functions for preparing plot and source data for download, and for rendering a plot that is not a plotly graph to a vector or raster image.

collect_source_data()
Collect plot and source data for download
create_source_download_handler()
Create download handler for plot with source data
draw_to_png()
Render a grid or base drawing to PNG bytes
draw_to_svg()
Render a grid or base drawing to a self-contained SVG fragment

Utility Functions

General-purpose helper functions for data handling and validation.

adjust_column_values()
Adjust numeric column values in a data frame using mathematical transformations
adjusted_values()
Transform values the way the modules plot them
adjustment_fn()
The whole plotted transform as one function, for dittoViz
as_plotted()
Replace data columns with the values the modules plot for them
blank_to_null()
Normalize a module's "no selection" column input to NULL
error_bar_halfwidth()
Half-width of a group's error bar
get_documentation()
Extract parameter documentation from an R function help page
is_pure_type()
Check if column inputs contain mixed data types
nz_value()
Is an input's value a usable, non-empty string?
parse_numeric_list()
Parse comma-separated numeric string to vector
safe_eval_filter()
Safely evaluate a user-provided filter expression against a data frame
safe_resolve_adj_fxn()
Safely resolve an adjustment function name to an actual function
validate_expression()
Validate a user-provided expression string for safety
with_stable_seed()
Evaluate a plot expression under a fixed random seed

Example Data

Built-in datasets for demos and testing.

example_bar
Bar dataset for bar and split bar plot examples
example_composition
Example single-cell-style composition data for the freqPlot module
example_demographics
Example demographics dataset
example_iris
Example grouped iris dataset
example_markers
Example single-cell marker gene dataset for dot plots
example_heatmap_matrix
Example gene-expression-style matrix for the ComplexHeatmap module
example_heatmap_column_data
Example sample-metadata table for the ComplexHeatmap module
example_mtcars
Example mtcars dataset with factors
example_population
Example population dataset
example_rnaseq
Example pseudo-bulk RNA-seq dataset
example_sales
Example sales dataset
example_school_earnings
Example school earnings dataset for dumbbell plots
example_skills
Example multi-player skills dataset for radar plots