Changelog
datachart-0.10.2 (2026-09-18)
Breaking Changes
- Removed the deprecated
VLinePlotAttrs,HLinePlotAttrs,TextAttrs,HeatmapColorbarAttrs, andChartCommonAttrsnames announced in 0.10.0
Bug Fixes
- Heatmap value labels turn white on any dark cell, judged per cell, so colormaps with a dark low end such as Cividis stay readable
datachart-0.10.1 (2026-09-18)
New Features
- Added the
HARBOR,MUTED, andCONTRASTcolour-blind-safe themes - Made the
DEFAULTpalette colour-blind safe with a softened OkabeāIto set closed with charcoal - Gave every theme its own lead hue:
MINIMALis violet, andMATERIAL,HATCH, andSKETCHno longer share the default blue - Added
COLORS.YlOrBr - Scored every theme for colour-blindness suitability in the theme gallery
Bug Fixes
color_parallel_huedefaults toNoneand takescolor_general_multiple, so parallel coords hue categories follow the active theme
datachart-0.10.0 (2026-09-18)
Breaking Changes
- Chart-specific constants carry their chart's prefix:
BASELINEis nowSTACKED_AREA_BASELINEandDIRECTIONis nowRADIAL_DIRECTION - A log axis raises
ValueErroron data at or below zero instead of silently dropping the points - Box, violin, swarm, and raincloud groups sit at 0-based positions like bars, so reference lines and annotation targets aimed at a group shift by one
- The
MINIMAL,MATERIAL, andHATCHthemes no longer show value labels by default
Deprecations
VLinePlotAttrs,HLinePlotAttrs,TextAttrs, andHeatmapColorbarAttrsare renamed toVLineSettingAttrs,HLineSettingAttrs,TextSettingAttrs, andColorbarSettingAttrs; the old names warn and are removed in the next releaseChartCommonAttrswarns and is removed in the next release
New Features
- Added
BumpChartwith theBUMP_RANKandBUMP_LABEL_POSITIONconstants - Added
CalendarHeatmapwith theCALENDAR_WEEKDAYconstant - Added
RidgelinePlotwith theRIDGELINE_SCALEconstant - Added
GanttChartwith periods, group headers, milestones, dependency arrows, and a today marker, plus theGANTT_VALUE,GANTT_SORT_KEY,GANTT_ARROW_ENTRY, andGANTT_DATE_PERIODconstants - Added
DumbbellChartwith theDUMBBELL_VALUEandDUMBBELL_SORT_KEYconstants - Added
ScatterMatrixwith theSCATTER_MATRIX_DIAGONALconstant - Added the
QUILLtheme: black ink on white paper with a bundled IM Fell English font, and the ink stroke, etch, hatch cycle, line-style cycle, and marker cycle attributes behind it - Added
NETWORK_LAYOUT.WEIGHTEDandNETWORK_LAYOUT.GROUPED, and theNETWORK_LABEL_POSITIONconstant - Added
figure.show(interactive=True)for zoom, pan, and hover-to-inspect on every chart, behind thedatachart[interactive]extra - Added value labels (
show_values,value_format) to line, scatter, histogram, stacked area, box, violin, swarm, and raincloud charts, with a halo behind them - Added scatter point labels
- Added the per-figure
legendsetting (title, location, columns, alignment) and theLEGEND_LOCATION.OUTSIDE_*locations - Added the per-figure
colorbarsetting with label, four-edge location, format, and ticks - Added reference bands (
vspans,hspans) to every chart that takes reference lines, and toRadialChart - Added a datetime x axis on continuous charts, dated group labels, and the
xticks_format/yticks_formatsettings with theDATE_FORMATconstant - Added
sortandsort_byto bar, pyramid, radial, box, and violin charts with theSORTconstant - Added
emphasis_ruleto every chart and per-record emphasis on bar, scatter, and swarm records - Added
Panelaxis scales (scalex,scaley,scaley_right) - Added
Annotatetargeting of a multi-subplot figure's subplots with thesubplotindex - Added
config.overrideandconfig.using_themecontext managers,config.list_themes, and JSON theme files throughconfig.save_theme/config.load_theme - Added
spearman,mode,skewness,kurtosis,linear_fit,bootstrap_ci,histogram,rolling_mean,ewma, andloesstoutils.stats;minimumandmaximumaccept datetimes and the paired helpers accept a temporal x save_figurewrites several formats in one call and returns the paths writtenTreemapnests groups four levels deep, fills a group's box in its own color, and takes one pad for the top-level gap and the gutter- A plain color string is accepted wherever a palette name is
- Documentation: a landing page, one reference page per chart, chart guides rewritten around real datasets, figures for every constant, and notebooks executed at build time
Bug Fixes
- Draw reference lines over marks, and filled surfaces under lines in a
Panel - Keep every subplot's data inside shared axes and end an axis on the tick its data sits on
- Keep a subplots figure's title, labels, and sharing in a
Gridcell - Draw a subplot in the color a single chart uses
- Hide value labels and marks anchored past a user-set axis limit
- Estimate densities and regressions in log space on a log axis
- Convert text positions through the axis units on a date axis
- Give a covered legend headroom at the value-axis end and draw it over right-axis marks
- Keep an outside-top legend under a grid cell's title and color the legend title like its labels
- List labelled reference lines beside a chart's own legend keys
- Draw one shared reference dict once per axes, and a right-axis figure's references in its own coordinates
Panel: adopt a source figure's bar mode, let a figure with no scale abstain from the axis vote, and raise on a heatmap figure- Colorbar: reserve room for every aspect-locked bar, keep it in tight saves, keep the axis label beside its ticks, and drop explicit ticks outside the mapped range
- Key treemap and sankey colors by input order
- A single color makes a colormap with both ends; spell
Magma,Turbo, andOkabeIto_Blackas pypalettes knows them - Fall back to Liberation Sans where Helvetica and Arial are missing, and take the theme font on heatmap values, contour labels, colorbar ticks, and parallel labels
- Drop the theme edge on markers too small to carry it
- A
plot_bar_value_*alias wins over a spread theme's canonical key - Histogram: pool the observations a point holds in a list, break a step outline where a log axis has no zero, and end a cumulative step outline at its total
- Parallel coordinates: snap a numeric dimension to its enclosing ticks, span the hue ramp over every record, and accept a flat dimensions list or a missing per-set entry
- Radial: place the r tick labels between the first two spokes and let
show_gridselect which polar grid set draws - Pyramid: pin the value axis to a user
xmaxand keep the legend headroom fit symmetric - Sankey: keep ribbon values off the node bars
- Box and violin: key the subtitle in the legend and raise on a dataset list without subplots
- Swarm: pack overlaid points as one cloud, draw unfilled markers as strokes in the series color, and draw dots whole on an axis end that sits on the data
- Scatter: one bubble size scale per axes
- Contour: fill values beyond an explicit levels list, accept numpy arrays as levels, and explain a filled contour given fewer than two levels
- Hexbin: bin hexagons in the axes' log scale
- Network: lay out disconnected spring graphs component by component and inset the fixed layout by the layout margin
- Annotations: cap the connector's target gap to the mark it names and keep the stub on a connector that still has room
datachart-0.9.1 (2026-09-07)
New Features
- Added
NetworkChartwith theNETWORK_LAYOUTconstant andARROW_STYLE.STRAIGHT - Added
Treemapwith squarified tiling and one-level nesting - Added the
SKETCHtheme: hand-drawn wobble, halo, and a bundled Comic Neue font - Restructured the README for onboarding with a charts table and rendered examples
Bug Fixes
- Clip network arrows at the true marker radius
- Keep the area floor fill unsketched under the sketch theme
datachart-0.9.0 (2026-08-28)
Breaking Changes
Heatmaptakes{x, y, z}chart dicts- Removed the deprecated composition fronts (
OverlayChart,FigureGridLayout,figure_grid_layout) and the deprecated chart-attrs typing aliases
New Features
- Added
ViolinPlotwith inner marks, bandwidth control, and split halves, plus theBANDWIDTHconstant - Added
SwarmPlot, composable with box and violin plots on a shared category index - Added
RaincloudPlot - Added
ContourChartwithcontour_levelsand theCONTOUR_LEVELSconstant - Added
HexbinChartwith theHEXBIN_REDUCEconstant - Added
StackedAreaChartwith theBASELINEconstant - Added
SankeyChartwith column headings and ribbon values - Added
kde1dandkde2ddensity estimates toutils.stats - Added figure-level
xlabel/ylabeltoGrid - Versioned documentation, grouped chart index, and a theme gallery covering every chart
Bug Fixes
- Draw the grid below the marks and hug the data range in line-only panels
- Keep a host row's height when a nested grid sits alone in it
- Place colorbars with the layout engine
- Size the histogram y-range by its view
datachart-0.8.1 (2026-08-26)
New Features
- Added
config.register_themefor registering custom named themes usable withset_theme
datachart-0.8.0 (2026-08-24)
Breaking Changes
- Renamed the themes for their visual trait:
THEME.DEFAULT,THEME.GREYSCALE,THEME.INK,THEME.HATCH,THEME.MINIMAL,THEME.MATERIAL; removedTHEME.PUBLICATIONandTHEME.BACKGROUND - Replaced the background theme with
EMPHASISroles, set per chart or per figure FIG_SIZEis now an A4-anchored size grid; paper sizes respect print margins and the column gap- Figures are no longer shown implicitly; showing goes through
Figure.show()(inline display in Jupyter still works) - Histogram stacking is now controlled via
bar_mode
New Features
- Added
PyramidChartfor creating population pyramid charts - Added
RadialChartfor creating radial bar charts - Added text annotations to every chart and a post-hoc
Annotateutility, with connectors placed by geometry and data - Added the public
PanelandGridcomposition utilities;Gridfigures nest recursively insideGrid,Panelfigures flatten losslessly - Added the
BAR_MODEconstant and support forVALUE_FORMATconstants in bar value labels - Added heatmap cell borders via
plot_heatmap_edge_widthandplot_heatmap_edge_color - Panels infer their orientation and orient the value axis accordingly
- Themes now drive chart defaults and support hatch cycles
- Revamped the documentation: how-to guides built around real-world datasets, a theme gallery, at-a-glance visualizations for all visual constants, and
llms.txtendpoints generated at build
Deprecations
OverlayChart,FigureGridLayout, andfigure_grid_layoutare deprecated; usePanelandGridinstead
Bug Fixes
- Center grouped bars, honor a per-chart
plot_bar_width, and guard category ticks against ragged category counts - Fill the area under lines down to the axis floor
- Keep bubble chart legend markers at the base marker size
- Apply themed label and tick furniture uniformly across composed figures; align nested grid axes with the host grid's columns
- Skip the legend when no handle carries a label
datachart-0.7.3 (2025-12-06)
Bug Fixes
- Fix input parameter handling in different charts
- Rename
combine_figuresintofigure_grid_layout
datachart-0.7.2 (2025-12-05)
Bug Fixes
- Updated github workflows
- Fix problems regarding release (v0.7.1 was not created correctly)
datachart-0.7.1 (2025-12-05)
New Features
- Add support for custom layout grids in
combine_figures
datachart-0.7.0 (2025-12-05)
Breaking Change
- All
chartinput parameters are now provided in a pythonic way (see documentation) - Changed Python support to version 3.10, 3.11, 3.12, 3.13
New Features
- Added
ScatterChartfor creating scatter plots - Added
BoxPlotfor creating box plots - Added
ParallelCoordsfor creating parallel coordinate plots - Added
combine_figuresto create a combined grid layout of multiple figures - Updated existing themes and added
THEME.PUBLICATIONthat might be suitable for publication charts - Added pypalette dependancy; used for selecting colormaps
- Added scipy dependancy; used for calculating statistics and regression lines
- Added new examples to the existing documentation
datachart-0.6.3 (2024-10-17)
Bug Fixes:
- Fix
scaleybug inHistogram
datachart-0.6.2 (2024-08-16)
Bug Fixes:
- Fix
BarChartbar position bug
datachart-0.6.1 (2024-08-15)
New Features:
- Add
scalesupport toLineChart,BarChartandHistogram
datachart-0.6.0 (2024-08-13)
Breaking Changes:
- Renaming in the
chartsmodule - Rename the
line_charttoLineChart - Rename the
bar_charttoBarChart - Rename the
histogramtoHistogram - Rename the
heatmaptoHeatmap - Renaming the
definitionsmodule intotypings - Renaming of
styleattributes in all modules
New Features:
- Complete rework of documentation
- Update project configuration
- Update githooks
- Add favicon
Bug Fixes:
- Fix
COLORSselection
datachart-0.5.0 (2023-11-24)
New Features:
- Add support for WebP output format
- Improve code imports
- Consistent variable naming
- Add code tests
Bug Fixes:
- Use consistent naming convention
datachart-0.4.1 (2023-11-20)
Bug Fixes:
- Fix axis label position
datachart-0.4.0 (2023-11-20)
New Features:
- Add heatmap visualization
- Add tick placement, label and rotation support
Bug Fixes:
- Fix Consistent attribute naming
- Fix attribute unit tests
datachart-0.3.0 (2023-11-20)
New Features:
- Add vertical and horizontal line support
- Update documentation
datachart-0.2.6 (2023-11-20)
New Features:
- Increase Python support to 3.8 - 3.12
Bug Fixes:
- Fix typing documentation
datachart-0.2.5 (2023-11-20)
New Features:
- Add custom tick placement
- Add unit tests and CI/CD
- Add documentation
datachart-0.1.0 (2023-07-21)
- Initial release
New Features:
- Add support for different types of charts: line chart, bar chart, histogram