New themes for your graphs

Choose from 16 new theme packages, now in beta. Try Watercolor for a hand-painted look, Blueprint for drafting lines or Financial for a newspaper feel. Each theme sets the colours, fonts, spacing and backgrounds, and some also change how bars, lines and points are drawn.

Apply a theme to your existing graphs, then use the Styling API to adjust the details.


The same graph rendered in Watercolor, Blueprint, Comic and Phosphor themes.


Explore the themes here, or check out the documentation.


New visualizations: Box plots, waterfalls and funnels


Three new graph types are available as beta plugins for graphs you build in code. Box plots show how values are spread across categories, including the middle value and outliers. Waterfall graphs show how additions and subtractions lead to a total. Funnel graphs show how many people or items make it through each stage of a process.

Graphy can calculate box plot summaries from your raw values and conversion rates between funnel stages.


Watercolor response-time box plots, a Shiny revenue-to-profit waterfall and a Botanical checkout funnel.


Read the docs for box plots, waterfall graphs and funnel graphs.

  • Point and edit (work in progress): select an individual bar, scatter point or supported series to choose a colour from the palette or enter a custom colour.

  • Click the graph background in point and edit to turn supported labels, percentages and totals on or off, with one undo step for the change.

  • Use point-and-edit menus to move the legend to one of eight positions or hide the legend, axes and grid lines.

  • Edit axis titles, show only the first and last labels on number or date axes and move the vertical axis to either side from its menu.

  • Set the vertical axis’s start and end values or use a logarithmic scale from its menu, where the graph supports these options.

  • Choose whether tooltips show all series at a position, the hovered item and its related values or nothing.

  • Choose a tooltip heading and add, remove, rename, reorder or format its rows, including ranges on a single row.

  • Use attachTo instead of hoverPriority to keep a supporting layer’s hover behaviour and tooltip rows with the layer it describes.

  • Use gradients, patterns or images for graph backgrounds and add textures over backgrounds and supported graph shapes.

  • Adjust tooltip row padding, the space between legend symbols and their labels and spacing inside headline cards through the Styling API.

  • Customise the legend overflow button’s focus outline, while annotation selection outlines and menu icons use your selection colour.

  • Editor panels, menus and tooltips now have a consistent look, customisable with --graphy-editor-* CSS variables.

  • Editor panels now have 8px of padding, which you can remove by setting --graphy-editor-padding-x and --graphy-editor-padding-y to 0px.

  • Editor options that use only icons now show their names on hover or keyboard focus, and apps can replace the shared colour controls through ControlRegistryProvider.

  • Combine several edits made in code into one undo step with SequenceCommand.

  • Graphs created with createGraphyKit now show “Made with Graphy” by default, with an option to turn it off.

  • The Styling API replaces the removed themeOverrides option.

  • Removed the unused prefix and suffix options from numberFormat.

  • Changing a series’ colour now updates its legend symbol, headline symbol and labels beside the data.

  • Tooltips now open after a graph scrolls into view, and labels beside the data wait for its entrance animation.

  • Tooltip ranges stay with the correct series and follow legend order when showing several series.

  • Category colours now use the default palette when no custom colours are set, instead of appearing black.

  • Shadows keep the correct size on line, area and circular graphs, with identical shadows shared where possible to reduce rendering work.

  • Thick text outlines now have rounded corners instead of sharp spikes.

  • Centred legends line up with the data area, and legends stay in the right position on right-to-left pages.

  • Point and edit no longer selects invisible grid lines or elements with no controls.

  • Hiding a legend or axis keeps its menu open, with controls disabled until you show it again.

  • The SDK now loads in plain Node.js without a bundler, and the editable entry’s TypeScript definitions no longer refer to missing files.