All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
prune_chart_to_tree(defaultFalse): when on, chart rows whosechart_strain_fieldvalue isn't a tree tip are filtered out before drawing. CLI form:--prune-chart-to-tree / --no-prune-chart-to-tree. (#6)-his accepted as a short alias for--helpon thetree-annotated-plotCLI.
- Minimum supported Python lowered from 3.13 to 3.11. CI still runs on 3.13.
mark_line,mark_trail, andmark_areanow connect points in tree tip order regardless of other encodings on the chart. Previously, a user chart with an explicit categorical color-scaledomainrendered with crisscrossing line segments because Vega-Lite's default connection-order heuristic ignored the strain-axis sort. The package now attaches acalculatetransform that derives a per-row tip rank and points theorderchannel at that field on these marks. Any user-suppliedorderis left in place.- When
color_tree_byis used together with a user chart that has its owncolorencoding (e.g. a titer plot colored bycell_line), the user chart's marks no longer disappear. The concat container now resolves thecolorscale asindependentso the tree'scolor_value:Nscale (with its tree-specific domain) is not merged with the user chart's color scale.
- Apply tree-tip ordering to chart axes that use untyped Altair
shorthand (
alt.Y("strain")without a:N/:Otype suffix). Previously the sort override was silently skipped, so the chart rendered in data order instead of tree order. - An internal consistency check now raises if the spec-level walk and the live-object walk over the user's chart ever disagree on the number of strain-axis encodings, so silent skips like the one above can't recur in another shape.
connect_leader_to_label(defaultFalse): extends each strain's dashed leader line all the way to its text label. When on, the chart's strain-axis labels are suppressed and replacement labels are rendered alongside the tree on its chart-facing edge.strain_label_font_size(default10),strain_label_font_weight(default"normal"), andshift_tree_loc(default0) for tuning the size, weight, and placement of the connected labels.color_tree_by(defaultNone): color the tree's branches and tip circles by an Auspice node attribute (e.g."subclade") or by the inferred genotype state at one or more sites (e.g."genotype:HA1:158"or"genotype:HA1:158,189"). Colors, category ordering, and the bottom-of-plot legend match the Nextstrain view of the same tree.tree_color_scale(defaultNone): override the default coloring with an explicit{category: color}mapping. Keys must match the tree's categories one-to-one and the legend order follows the user's key order. CLI form:"value1=#hex1,value2=#hex2,...".tree_color_legend_format(defaultNone): pass any subset of Vega-Lite's Legend properties as a dict to style the tree's color legend (orient,direction,columns,padding,labelFontSize,titleFontSize, …). Whenorientis"left"or"right"and the user has not setcolumnsordirection,columns=1is forced so entries stack vertically. CLI form: a JSON object string.tree_color_legend_show(defaultTrue): set toFalseto hide the tree's color legend entirely while still coloring the tree.scale_bar_font_size(default10): font size for the tree's scale bar label.
- Default
tree_line_widthbumped from1.5to2, defaulttree_node_sizefrom28to45. Tree branch lines and tip circles are now drawn at full opacity. The thicker / fuller defaults read better when the tree is colored (the prior values were tuned for unicolor black trees).
Initial release.