Repository navigation
Releases: datos-Fundar/data-chart-telling
Releases · datos-Fundar/data-chart-telling
Release list
v1.5.0
[1.5.0] - 2026-10-31
Changed
- Zooming or panning a map no longer re-projects every feature on each wheel tick or drag move. The features already drawn are carried to the new view with an SVG transform and the projection is moved, and the features redrawn, once the view has been still for 120 ms. A map of 6,000 features goes from about 340 ms to about 50 ms per wheel tick. Strokes and dots are briefly scaled while the view moves.
Fixed
- A series' catch-all segments that name different facets, or a facet next to the unscoped one, no longer log the warning for two catch-alls: they do not compete.
v1.4.0
[1.4.0] - 2026-10-30
Added
legend.offin the automatic legend's configuration turns series off from code, as if the reader had clicked them: a list of names (dimmed), or a map to an opacity or to adim,hideoromitaction; a series left out is turned back on.legend.highlightis its inverse, keeping the series it names and dimming the rest. A plot with facets can dim a series exactly when no panel shows it.
Fixed
- Value labels that fit margins measure what reaches past the plot against the area svelteplot lays the plot out by, not against the estimate an
'auto'margin has until its axes are sized. A label inside the plot could read as overflow in that moment and grow the margins for good, so the same plot drew with different margins from one render to the next.
v1.3.0
[1.3.0] - 2026-10-30
Added
legend.iconin the configuration sets the icon a discrete legend item draws for its series:roundedsoftens its corners, andmarkspicks the shape by how the series draws (line,dot,area,bar,cell,rectorgeo), unless the series sets its ownsymbol. A legend item can name itsmarkto choose from it.- A
rulemarker takes a list as itsvalue, and adeltamarker a list as itsat: one line, or one delta, at each position, all with the same style, instead of one marker for each. A delta'sline,textanddotcan be functions of the position, to style each one on its own. faceton a marker or a segment limits it to some facet panels, on every plot kind: abyvalue, a list of them, or{ row, col }in arows/colsgrid. Without it a marker or a segment is drawn in every panel, as before, and a plot with no facet leaves out whatever names one.
Fixed
- Automatic margins reserve what a plot needs without taking its drawing area: the label of the top y tick is no longer cut off, since an
'auto'top margin now leaves room for half its height, and margins that grow to fit labels stop growing once they would leave the plot less than a quarter of its box, which kept svelteplot from drawing marks with negative sizes on small plots.
v1.2.0
[1.2.0] - 2026-10-24
Added
LollipopPlot, a dot on a stem for the value of each category.DumbbellPlot, two series joined by a connector for each category.ClevelandPlot, any number of series per category joined from the lowest to the highest value, with connectors you can color, turn into arrows and sort by series value or range.ForestPlot, a dot per row on a stem spanning its confidence interval.BulletPlot, a bar against a target tick and shaded qualitative ranges.SlopePlot, the change of each series between two moments, labelled at both ends.SparklinePlot, a small axisless line with a dot and a label on its last point.DensityPlot, a kernel density curve of one numeric field, andViolinPlot, the mirrored density of each category with a box inside.- Step lines through
styles.curve: 'step','step-after'or'step-before'onLinePlot. - A
deviationstatistic that draws an estimator of the values and a band around it, with optional labels. styles.values.selectchooses which points get a value label ('first','last','min','max'or a list), for line, area and Cleveland-family plots.- The size channel (
r) works on the dots of the Cleveland family, and its automatic legend is configured under therkey. - Every marker takes
dxanddyto move it a number of pixels, on a map too, anddot,textandimagemarkers also take a function of the row to move each row on its own. setConfiguration({ palette })takes the name of a d3-scale-chromatic scheme ('viridis','dark2'...) or{ scheme, count, schemeRange }instead of just a list of colors.continuous.schemeandcontinuous.schemeRangein the configuration set the default continuous ramp by the name of a d3-scale-chromatic ramp, as an alternative to itsminandmaxcolors.- Tick labels turn or thin out on small plots when they would not fit, and the last label of an axis that is not rounded to nice values stays inside the plot.
- A timeline can free one axis at a time (
scales: 'free-x'or'free-y') while the other keeps its shared domain. linkmarkers on a map can lift their arcs off the surface (altitude) and cut them where a globe hides them (occlusion).
Changed
- The default palette is Tableau 10, and the default continuous ramp, the timeline and player accents and the connector colors follow it.
Fixed
- The example datasets moved out of the stories into
examples/datasets, where real data replaces the synthetic rows and the docs, examples and stories all read the same files. - The Minard map of Napoleon's march is rebuilt with
GeoPlotandLinePlotmarkers instead of a hand-assembled svelteplot chart.
v1.1.0
[1.1.0] - 2026-10-20
Added
BoxPlot, a new plot kind for the distribution of values per category. It draws one box per category of each series: the quartiles, the median, whiskers that reach the farthest values within 1.5 times the interquartile range, and the values past them as outlier dots.- Boxes stand upright when the categories are on
xand lie sideways when they are ony. groupingorcolorgives each group its own box and color, andfacetcompares groups in separate panels.- The tooltip reads one box at a time instead of every value inside it. The hovered row carries
category,min,p25,median,p75,max,countandoutliersfor a customformat. - Categories keep the order the data gives them, and the value axis fits the values without reaching for zero.
- It takes the same props as every other plot:
segmentsto restyle whole categories, the interactive legend,markers,styles.frameand the rest. - New
boxblock in the configuration for the box fill opacity and the spacing between boxes (fillOpacity,paddingInner,paddingOuter).
- Boxes stand upright when the categories are on
Fixed
- Nice axis domains no longer grow a whole extra step when the data ends just past a round value (parts that sum to
100.00000000000001stay on100).niceToleranceon a scale sets how far past a tick, as a share of the step, the data may end and still stay on it. - Ticks at the data's first and last values no longer crowd the nice tick next to them.
axis.edgeTicksin the configuration (oredgeTickson a scale) chooses what happens then:collisionis'drop-nice','drop-edge'or'extend'. - A tooltip that lists several rows shows them highest value first.
- The timeline accepts steps given as
Dateobjects or date strings (ISO, or any pattern set withdateFormat), not only numbers. - The
deltamarker's label offset and anchor have defaults per axis in the configuration (delta.text). - Documentation and examples brought up to date with the current API.
v1.0.0
[1.0.0] - 2026-10-16
First stable release.
Added
- Plot components for line, area, bar, histogram, heatmap, pyramid, scatter and geographic maps, built on svelteplot and sharing one vocabulary of channels, scales, styles, segments, markers, transforms, tooltip, legend, timeline and facet props.
- A plot shell that carries its own title, legend, tooltip, facets and timeline, plus a composer for combining plots (instead of using a separate Chart component).
- Transforms (stack, bin, window) and statistics such as regression.
- Interactive legends, a timeline player and rule, and synced hover across plots.
- A global theme.
- Documentation, runnable examples and
llms.txt/llms-full.txtfor LLM use. - Unit and real-browser test suites, Storybook stories, and CI with CodeQL on GitHub Actions.