Repository navigation
Minor Changes
-
06b7e23: A bounded numeric axis on scatter charts now marks the end that hides points. Hover or focus the marker to see how many rows are past the bound and reset that bound.
-
6f3851f: Add a Calendar Heatmap chart type that shows a count, sum, or average for each UTC day of a year. Click a day to filter linked views to that date, Alt-click to see its rows, and step between years; narrow panels show one month at a time.
-
c615165: Add a Composition chart type: a blank artboard where you place and style title, subtitle, and note text, switch between edit and view modes, and save the layout with the workspace.
-
3f3c746: Add a density display to Scatter Plot. Count rows in fixed numeric bins, select their exact source records, and trace bin boundaries, exclusions, and colors.
-
6582400: Add a Donut chart that shows each category's share of the filtered rows, by count or by the sum of a measure, with the smaller categories pooled into a selectable Other slice. Negative or zero-sum values show a message instead of a ring.
-
6762dfd: Add a field list to the workspace. Press Fields in the toolbar or the F key to search every field, see its range or distinct count for the filtered rows, expand a field for its distribution and the charts that use it, inspect it, add a chart, or put it on a chart axis from a menu or by dragging. Dragging near the top or bottom of the view scrolls the workspace. Expand the list, or press Shift+F, to see every field's distribution at once as a grid of cards.
-
b99fa52: Add a Heatmap chart type that compares a count, sum, or average across two category fields. Click a cell to select that exact pair in linked views, Alt-click to see the rows behind it, and cells with no rows or no valid values are drawn distinctly.
-
04177dc: Add a Hierarchy chart that shows how a total divides through one to three nested category fields as a treemap. Click a box to filter the workspace to its branch.
-
59dd89c: Add a Parallel Coordinates chart that draws each row as one line across several numeric or category axes. Drag along any axis to select a range, combine ranges across axes, reorder axes by dragging their names, flip an axis, and click a line to trace its row.
-
891a071: Add a region(latitude, longitude, level) calculation that names the country, US state, or US county containing each point. Region maps now start on the boundaries their data names, and a country map zoomed into the US shows states or counties when the data has those columns.
-
a637688: Add a Sankey chart that follows rows through two to six ordered category fields. Click a node or link to select it in linked views, Shift-click to add more values on a stage, and see the selected rows highlighted along every path; Alt-click a node or link to trace its rows.
-
8c47788: Add a Schema diagram: a wide drawer that shows every table, field, and relationship as cards and lines, laid out to fit the screen. Single-table workspaces show their fields and calculated fields; ExplorEdaProject shows the project's sources and relationships, and its Schema panel can open the diagram.
-
cdf6116: Add a Waterfall chart that bridges one total to another, such as plan to actual. Each state is a measure plus the rows it counts, so data with plan and actual columns, a scenario column, or two periods all work; steps can be grouped with subtotals, and each bar selects and traces its source rows.
-
8cdf475: Add a workspace filter from the active filter bar: choose a field and its values to narrow every chart, the row count, and Rows without creating a chart. Workspace filters save with the view.
-
c6aa995: Add an ECDF chart that shows the share of rows at or below (or at or above) every observed value, without bins. Split it by a color field to compare groups fairly, click to select rows past a threshold or drag to select a span, and mark each curve's median and 90th percentile.
-
bff8fb4: Add bubble sizing to Scatter Plot. Select and trace source rows, with proportional areas and a size scale that stays fixed during filtering.
-
b11c5cc: Add chart now opens a dialog where you pick a chart type and fields with a live preview. Add to grid then lets you choose where the chart goes, and Enter places it. Canceling adds nothing.
-
0588bae: Add
compileDocument, which builds a complete dashboard from compact text: field aliases and type checks, calculations, one chart per line with chart-localwhere.filters, and layout. Usable charts are built even when others fail, and every skipped or changed effect comes back as a located diagnostic with a suggested fix. -
28864ed: Add exploreda/analysis: project definitions for related tables, a pure query evaluator that reports per-step counts and never guesses among ambiguous matches, and a validated project file format.
-
7cc13cc: Add ExplorEdaProject, a chart workspace over one query of a multi-table project. Its Schema panel previews and edits links between tables; its Query panel follows links without silently changing what a row means, sets parameter inputs, and walks every step down to the source records.
-
65d0717: Add
exportDocument, which writes the current dashboard as dashboard text that rebuilds it. Any chart type and setting can now be written as a flat path such asxAxis.scaleType=logorcolumns.0.width=140, with no JSON, andchart <type>builds every registered chart type. -
d857537: Add highlightDsl, which splits dashboard text into colored tokens for an editor, and accept the row sequence field __ID in dashboard text, so a new scatter and its point selections rebuild from text.
-
a329b2d: Add host side panels and a read-only mode.
sidePanelsputs your own panels on the workspace's right edge with a toolbar button, andreadOnlyshows the charts without accepting edits. -
d0530e5: Add metric cards for counts, sums, and averages that follow chart filters. Inspect the source rows and excluded values behind each result.
-
4812185: Add point maps with latitude and longitude fields, saved geographic views, exact row selection, and coordinate tracing.
-
41b8e13: Add region maps with shared GeoJSON geometry, typed joins, counts, sums, averages, and source tracing.
-
4111cd9: Add source from the Schema diagram: ExplorEda and ExplorEdaProject take onAddSource, and exploreda/analysis adds addSourceFromRows, sourceFromRows, and singleTableProject, which turns a single-table workspace into a project whose view keeps the same charts, filters, layout, and row selections. ExplorEdaProject's schemaFocus opens the diagram on a table.
-
7eb313c: Add the
exploreda-dslcommand andformatDslDiagnostics,describeDslSource, andDSL_REFERENCE, so agents and scripts can list fields, check dashboard text, and read every problem with its fix without a browser. -
001c3ff: Add the Report theme: a clean sans headline, generous space, quiet rules, and one restrained accent. Row, line, box plot, and ECDF charts now follow the theme's axis text sizes too, and row charts and time series measure their axis labels so larger type claims room. Row charts no longer draw the axis title over their Other categories status line.
-
feb4554: Add workspace themes. A new Theme tab picks Compact (the default) or Newsprint, which gives every chart a large serif headline that wraps to two lines, a subtitle, and a source note. Charts gain optional
subtitleandnotesettings, saved analyses gain an optionaltheme, and dashboard text readstheme name=. -
fd59496: Adds a Scatter Matrix view. Pick several fields of any type to see every pair side by side, with each field's density, histogram, or category bars on the diagonal. Number pairs show points or Pearson correlations, number and category pairs show jittered points or box plots, and category pairs show count tiles or share bars; choose each in settings. A color field colors points, distributions, and per-group correlations. Brushing any cell highlights the same rows in every cell and filters linked charts; Escape clears it. Alt-click a point to trace its row through every field, or a cell to see the rows it uses. On large data, a drag previews its selection inside the matrix and filters linked charts when you release it.
-
1f926ee: Bar charts take a categoryOrder setting: keep categories in data order or sort them A to Z, with numbers in numeric order. In ExplorEdaProject, a saved display setting for a field, such as its precision, no longer drops the field's declared name.
-
056b490: Bar, histogram, row, line, and box charts now mark a bounded axis end that hides or cuts off marks, with the count and a reset for that bound, as scatter charts do.
-
e7039aa: Bar, row, and box charts can carry saved annotations: lines and bands on the value axis, and callouts that attach to a bar or row by its category. On a faceted chart, an annotation can be limited to one panel by its facet values, and calculated lines read each panel's own rows.
-
66dc636: Box plots no longer offer a bee swarm overlay. The violin overlay now shows distribution shape, and saved box plots that had bee swarm turned on still load.
-
05f84f3: Box plots, scatter plots, and 3D scatter plots read hovered values in the panel header and show a status line with the selection and usage hints. Box plots draw the violin behind a slimmer box and select groups by clicking the column or its label (Shift-click adds). 3D scatter plots fit points into a labeled cube with tick values, follow light and dark themes, read the point under the pointer, and add a Fit view button. Saved camera positions now apply to the fitted cube, so an older saved view may sit closer or farther than before; Fit view resets it. Dense scatter plots draw smaller, lighter points by default.
-
4ccb04c: Brush scatter marginal distributions, clear hexagon selections from empty space, and read bubble charts with clearer layers and labels.
-
6a841fb: Chart settings gain a Filters tab with a manual control for every filter a chart sets, replacing the Select tab. The scatter plot shows hovered values in the chart header instead of a box over the plot, and the chart details view uses a larger title.
-
aacb681: Charts can limit the rows they draw with
localFilters. These chart-local filters never filter other charts, show as an "Only" strip on the chart, and are edited under Chart rows in the Filters tab, which every data chart now has. -
1ce8237: Charts now fill empty rows above them, resizing keeps a chart in place, and a new chart starts in the visible rows without scrolling. A click on a histogram bin filters to its bounds, box plot clicks select several groups, and 3D scatter axes accept text and category fields. Usage hints and optional plot actions appear only on hover, standing Inspect buttons are gone (Alt-click a mark instead), the toolbar puts filters on the left with Add chart, Fields, and Rows on the right, and chart type icons match their charts.
-
e23c148: Click a bar in a Summary Table sparkline to filter to its rows. The filter appears in the filter bar and clears with its × or the chart's clear-filter button; clicking the same bar again removes it.
-
e3d7520: Click a filter chip in the filter bar to jump to the chart that set it. Only the chip's × removes the filter, and Rows filters say they apply only to Rows.
-
5977a8e: Clicking a bar in a grouped bar chart (count, sum, or average by group) now selects that group, so other views narrow to its rows. Alt-click still opens the bar's contributors.
-
1aa9dfe: Color scales get a new editor and many more palettes: 25 sequential and diverging ramps, 9 categorical sets, reverse, steps, log and square-root spacing, a movable diverging midpoint, and a color-blind preview. Chart settings open the editor in place, and new categorical scales give the largest groups the most distinct colors.
-
70b4847: Colors follow the workspace theme. New categorical scales use a Theme palette that changes with Compact, Newsprint (new palette), or Report (new palette), and each category keeps its place. Palette colors gain lighter steps in dark mode. Hand-picked colors and fixed palettes stay as chosen and appear in the Theme tab's overrides list with a reset. Saved scales on the default palette adopt the Theme palette without changing any visible color. Line series, uncolored marks, region maps, and scatter density now follow the theme too, and the scale editor can move categories to choose which takes which color.
-
1a232a5: Column filters for number and date fields show the field's distribution, which filters on click or drag, and number fields add a range slider. Switching between column filters no longer flickers: one popover moves between columns, and popovers close without an exit animation.
-
e17c89d: Compare series side by side in Bar Chart. Select a category and series together, and inspect the source records behind each bar.
-
a53f216: Composition chart units can hold inset frames: smaller frames inside each repeat with their own display window, such as a full-history overview beside a recent-window detail, with marks assigned to the frame they draw in. The main frame can take a window too, and a repeat rule can leave listed values out, such as a national total drawn only as a comparison.
-
dc8a959: Composition chart units can title their numeric axes, with an x title under the tick labels and a y title turned beside them.
-
26b7e4f: Composition density marks can shade their fill along x through a value scale, overlapping ridges draw with each lower ridge in front and names on their baselines, and units can name every nth repeat.
-
7cfcdcb: Composition legends can key chosen marks, such as fan bands, a focused and a muted line, a summary's quartile band and median, or a strip's missing cell. Ramp legends key summary change colors and draw placed-stop ramps band by band.
-
4cfae36: Composition numeric scales can use log spacing, with decade ticks. Point marks can size each point's area by a field and label only listed values.
-
f3b5c6a: Composition path and point marks can split by a series field, drawing one path per series and picking the shown point within each. A focus setting keeps the repeat's own series, or listed series, in color while the rest fade behind them. Numeric scales accept date fields, read as timestamps with ticks labeled as dates.
-
64441f3: Composition path marks can name each path at its start, end, or both, with the value at that end, laid out so the labels never overlap: a slope chart. Paths can take their color from a field, like points, and numeric scales can label only their two ends or no ticks at all.
-
1a661cc: Composition paths and points can take their color from a numeric field through a value scale, and top repeat labels write signed values with their sign's text.
-
bb019d7: Composition point and path marks can plot each row's rank among the rows at the same x, by the y field, largest or smallest first, for bump charts. Ranks come from the live rows, so filters re-rank.
-
65269d9: Composition point marks can color by a category field through a palette, and a new legend element lists a mark's categories with their colors. Point and path marks can leave the y scale off to form a dot row on the frame's middle line, and calculations gain a signed difference from the first row to the last.
-
8fbf81a: Composition point marks on a dot row can swarm: each point moves off the middle line just far enough to clear its neighbors, labels following, for beeswarm plots. Sized points can set the smallest radius they draw at. Log scales now start at the smallest positive value when the data holds zeros, and values under the span pin to its low end.
-
13e7b48: Composition repeats arranged as rows or columns can size each repeat by a per-repeat calculation, keeping the unit's total extent, for mosaic and Marimekko charts whose widths follow counts and resize with filters.
-
91a00b5: Composition repeats can be arranged as tiles: a field names each repeat's cell as row,column, such as a state's place on a tile map, and repeats without a cell queue below the grid.
-
186b9e7: Composition rows can show their calculated value in a tinted column after the frame, under a header, and write a signed value by sign, such as +14R in red and +6D in blue. Point labels carry a paper outline so they stay legible over paths.
-
3ca2d10: Composition stack marks can spread across a numeric x scale: rows group by their x value, categories stack at each x, and each category draws as one area with its label where it is thickest. The y axis shows shares or totals, and the trace of an area gives the category's share range, numerator, denominator, and largest share.
-
f631419: Composition stacks can run across a bar, order categories as they first appear, label segments with the share alone, join each category's edge from one repeat to the next, and take a hand-colored texture.
-
0085d86: Composition stacks spread across x can rest on a centered or wiggling baseline, for streamgraphs, and stack and path marks can draw smooth curves instead of straight runs.
-
bcc3651: Composition strip cells can show their values, in ink that reads on each cell's color, with a label such as NA in missing cells, and insets can drop their outline.
-
64bda04: Composition strip marks read a diverging value scale's sign, so a signed measure such as a vote margin colors toward either end of the ramp from a middle color. A legend can key a value scale's ramp, diverging or one-way, labeled with the drawn extent.
-
0464b2c: Composition summary marks can turn their quartile band, median line, and median dots on or off, and the mark type picker shows an icon for each type.
-
048aa41: Composition value scales can hold more than two colors, each placed at a stop along the ramp, so a few high values can take the strongest colors. Strip marks can draw a missing cell for bins whose rows have no value, distinct from bins with no rows.
-
4bfc789: Composition value scales take an optional fixed ramp end, so values past it share the end color and one extreme value no longer washes out the rest.
-
5b49650: Composition waffles can bin along a numeric scale, drawing one small waffle per whole value as a unit histogram.
-
bc053c5: Compositions can draw a waffle: a grid of cells per repeat, one per row or per a set number of rows, or a hundred cells of shares, grouped and colored by a category in an order shared across repeats.
-
6107403: Compositions can draw bands: a filled area between two fields along x in the order of a field, such as a forecast's 10th to 90th percentile, layered widest first and broken at missing bounds. A numeric scale spans every field drawn on it, so bands stay in the frame. Guides can run horizontally at a numeric y value, and either direction can shade the frame on one side, such as a projection period.
-
d5deb7c: Compositions can draw bar marks: one bar per repeat or per category whose length is a count, sum, or average of the repeat's rows, on one axis shared across repeats, with one category mirrored leftward for population pyramids.
-
49d6c5f: Compositions can draw horizon marks: a measure across x read from zero, a repeat's first value, or its mean, cut into bands that stack at the frame's full height, with drops mirrored upward in a second color and a range shared across repeats or fit to each.
-
1f5a493: Compositions can draw span marks: one bar per row from a start field to an end field along x, filling the frame's height, with open ends for rows without one, labels inside the wider spans, and colors from a field. A span's scale covers both ends.
-
12ba808: Compositions can draw the distribution of a numeric field in each repeat as a density mark: a smoothed curve filled to the baseline, with a shared or per-unit height, a chosen bandwidth, and an outline. Repeat rows can overlap through a negative gap, for ridgelines.
-
129c525: Compositions can now compute values from the data, each scoped to one repeat or the whole graphic and set to follow or ignore filters. Show them beside repeat labels, in text as {Name}, or as guide rules, and attach annotations to the page, a frame, or a data mark that they follow as filters change.
-
4690661: Compositions can now draw waterfall and donut marks in each repeat. They compute their values as the Waterfall and Donut charts do, share a value axis or category colors across repeats, and trace to their rows.
-
b5028b0: Compositions can now hold chart units: a frame of rectangle or circle marks bound to named position and value scales, repeated for each value of a field as rows, columns, or a grid on shared scales.
-
25c6b01: Compositions can now place points and paths at numeric x and y. Add an X–Y unit, or change a mark's type to Points or Path. Numeric scales map a field along a frame with a shared or per-unit extent, an optional zero baseline, tidy ends, and fixed limits that clip marks to the frame. A path connects a repeat's rows in the order of a field such as year and breaks at a missing value. Annotations can follow the point at a chosen value, guides can sit at a numeric x, and the trace shows a path's order, runs, and skipped rows.
-
a380e09: Compositions can order repeats by a per-repeat calculation, low or high first, and keep that order while filtering. Calculations gain First, Last, and Change from first to last, each ordered by a field such as a date; a change shows as a signed percent. Point marks can show only the first, last, lowest, or highest row of each repeat, for sparkline markers.
-
787d642: Compositions can stack a repeat's categories into one column as shares of its total: a stack mark counts or sums each category, orders and colors categories the same way across every repeat, fills columns to 100% or scales them by total, and labels segments that have room. The trace of a segment shows its numerator, the repeat's denominator, and every contributing category.
-
2e8001b: Compositions can summarize a measure per cohort inside each repeat: a summary mark draws the quartiles of each group as a band joined across the groups, with the medians marked and joined, and colors each repeat's markers by its change in median from the first group to the last. Value scales can diverge around zero with a middle color. A numeric scale bound to a summary spans the quartiles drawn.
-
e48f09f: Compositions can zoom and pan: Ctrl- or Command-scroll, the corner zoom buttons, or + and - zoom in on small detail, and scrolling or dragging pans while zoomed. The artboard settings add Fit height to content, which moves source notes under the graphic and sizes the artboard to them.
-
947a29b: Compositions now have a Copy PNG action that copies the finished graphic to the clipboard at twice its artboard size, without selection boxes, for pasting into reports and slides.
-
3f8a49d: Copy or download any chart as a PNG from the new image button in its header, or press E to copy and Shift+E to download. The image matches the chart as drawn, in the current theme at twice its on-screen size, without header controls or hover readouts. 3D charts show the action with a note that they are not supported yet.
-
33fb313: Dashboard text now carries shared definitions:
scale,group, androwslines write color scales, grouped summaries, and the Rows view, and region maps refer to host-suppliedgeometryAssets.exportDocumentomits nothing, so an exported dashboard rebuilds exactly. -
0da27df: Dashboard text now uses braces for longer settings: a line ending in { opens a body that } closes, and spacing never changes meaning, so pasted text reads the same. A layout block places charts one band per line (5: size size species island, or bill:7 mass:5), and charts go by their field when they have no @name. Views are written as view "Name" { … }, dashboard and theme take plain values (dashboard "Sales", theme newsprint), formatDsl and exploreda-dsl fmt indent by brace depth, and + continuation lines are gone.
-
9ad89e5: Dashboard text reads and writes more of a dashboard plainly: annotations as chart child lines (callout, rule, band, region, interval, records) with ISO dates on date axes; table columns, pivot values, parallel axes, and line series as child lines; metric sum(Revenue) and group @byRegion sum(Revenue) by=Region; color scales as map=Web:#3479a8,Store:#c77a45; new chart words (boxplot, calendar, ecdf, heatmap, line, pivot, parallel, sankey, hierarchy, markdown, map); lists as a,b without []; and colors without quotes. New line series start at point size 3, point opacity 0.8, and full line opacity.
-
8522a85: Dashboard text with several views defines a chart once above the views: each view places it by name and changes only what differs, such as Channel select.Channel=Web, and exportViews writes shared charts that way. The reference now covers the formula language, generated from the calculation engine's own functions.
-
24a7518: Dashboard text writes composition charts as named parts instead of composition.* paths: scales, measures, titles, units with their repeat, label, and marks, legends, rules, notes, and overrides each get a child line, link to each other by name, and leave out settings that match their kind's default. New composition titles, subtitles, and notes start at 24, 13, and 10 px.
-
82cdb5f: Data tables align number headers with their cells, show each column's type icon, and highlight the text a table search matched. The Rows view draws each field's distribution under its column name, and a data table chart can turn that on with the new showDistributions setting.
-
c57c6ca: Data tables gain right-click menus on headers and cells (filter, sort, move, hide, copy), and columns drag by name to reorder or, dragged away from the header, to hide. The column picker now shows each field's type, counts, and distribution, and data table settings use the same picker in place of column pills.
-
8fa8a41: Date column filters offer quick ranges that fit the field, such as the latest 30 days, quarters, and months. Add chart groups chart types by purpose. Data tables show distributions in headers by default, and the toggle sits above the column list. Charts and metric cards no longer show Inspect buttons: Alt-click a mark or card to trace it. Escape now closes workspace settings and the narrow Rows drawer after a click on a chart.
-
7f84917: Describe several saved views in one dashboard text.
exportViewswrites shared definitions once and aview "Name"section per view, andcompileViewsrebuilds every view from that text. -
f4c4431: Double-click a Hierarchy parent, or press Shift+Enter, to zoom it to fill the chart, and step back through breadcrumbs. The zoom is saved with the chart, so a reload shows the same view.
-
f5c42cf: Drag a numeric axis to change its range: drag along it to pan, or drag an end grip to stretch that end. The chart follows the pointer, Escape restores the range, and the drag reaches
onStateChangeas one change. -
896cf8f: Drag across a Summary Table or field list sparkline to filter to a range, and click a Missing count or choose Only missing values in a column filter to see rows without a value. The field list now shows distinct and missing counts with a filterable distribution for each field, date distributions bin by whole days, weeks, months, quarters, or years, and tables show a small null marker for missing cells.
-
b4bfec2: Edit a chart's axes where they are drawn. Double-click a numeric axis to set its range in a popover beside it, or double-click an axis title (or press Enter on it) to rename it in place. The axis context menu adds Set range, Fit to the data, and Edit axis title.
PopoverContentaccepts acontainerso popovers inside a modal dialog can take focus. -
45beae9: Edit a chart's title where it is drawn. Double-click it, press Enter or F2 on it, or pick Edit title from its context menu. The chart updates as you type, Escape restores the old title, and a host's
onStateChangehears about the edit once, when it ends, so one rename is one undo step. -
00612fc: Edit query steps from the Schema diagram: add a step that follows a relationship, calculates a field, or keeps matching rows; change a step's relationship, filter, calculation, or summary; remove a step after seeing which fields and views it breaks; and start a new query from a table.
-
e8ca35c: Edit the model from the Schema diagram: select a table, field, or relationship to see its details beside it, drag one field onto another table's field to create a relationship with match counts, change cardinality, remove relationships, set key fields, and rename fields. Single-table workspaces edit field labels, units, and types there.
-
6ddaeb5: Edits in
npx exploredasave to the project folder a moment after you make them, rewriting only the files that changed, and the app reloads when a file changes on disk, such as aftergit pull.ExplorEdaProjectnow reports only field settings that differ from the project's declared names and types. Dashboard text no longer writes a barerowsline for a Rows view left at its defaults. -
15e57e7: ExplorEdaProject can run its queries in a worker: pass createWorker={createAnalysisWorker} from exploreda/analysis. Charts keep the last finished result while the next one runs, and late results are dropped.
-
879b1f8: ExplorEdaProject takes an optional views prop with every saved view. The Schema diagram then shows each view, folded to one row per chart until opened, so removing a step names every view it breaks and a field lists its uses across views.
-
860a1e1: The field inspector opens on a Values tab with a histogram or category counts that compare rows after chart filters with all rows, and it opens from any chart axis title with Command-click or the context menu. Filter chips, field details, and pivot cells now use each field's label, format, and unit, and pivot counts show plain row counts.
-
2545e8f: Find Histogram and Distribution when adding charts. Inspect and select exact Other categories, and trace distribution statistics and individual observations.
-
63b40dc: Grouped summaries and metric cards can count or measure each ID once with a new Once per field, so repeated parent rows (such as an order's amount on each of its items) no longer inflate totals. Values that differ within one ID show as unavailable instead of picking one.
-
a81250e: Hierarchy charts can be drawn as a sunburst, one ring per level. Click its center to step out of a zoom.
-
28cffab: Hierarchy charts can be drawn as an icicle, one column per level, and switched between treemap and icicle from the chart without losing levels, zoom, or selection.
-
f0fb949: Hierarchy charts color boxes by branch, by level, or one color, keep small boxes as unlabeled marks you can still hover, and trace any box to its rows with Alt-click.
-
d373f1c: Individual repeats in a composition can now carry saved overrides (nudge, accent color, opacity, bold label) that stay with their subset when the order or filters change. In view mode, clicking a repeat filters the workspace by it, and Alt-click traces a mark to its template, subset, override, and source rows.
-
36ed832: Pass a ref to
ExplorEdaand callref.current.getSettings()to read the current workspace settings at any time, including right after mount withoutsavedData. A new Chart spec tab in workspace settings shows what each chart saves: its fields, place in the grid, filters, settings as a list or copyable JSON, and the calculations, color scales, and grouped summaries it references. -
895ce79: Line chart value axes and box plots can use a true log scale. Values at or below zero are left off and counted by a warning marker; box plot statistics still use every value.
-
263d581: Line charts and time series can carry saved annotations, and both scatter and line charts gain bands, brackets, and dated events. Line charts can also shade supplied lower and upper bounds as a labeled interval. The Notes tab adds naming, duplicating, arrowheads, right-axis values, date inputs, and an Outside the view status.
-
d16da68: Maps have a layers control: hide points without losing the selection, label points, draw reference outlines beneath points, and choose an automatic, outline-only, or empty basemap.
-
326c7a1: Move the row count and active filters to a status bar that stays at the bottom of the workspace, and add
toolbarStartandtoolbarEndprops toExplorEdaandExplorEdaProjectso hosts can put view tabs and their own actions on the workspace's single toolbar line. -
d578373: New charts start from a house style: room for axis titles, four Y ticks, a value-axis grid, compact rows, and 20 histogram bins. Dashboard text now writes one word per setting (such as x.title, x.grid, x.ticks, bins, size.max), leaves out settings that match a chart's defaults, and exportDocument compares charts in normalized form. Use normalizeDashboard to fill a saved dashboard's left-out settings, and exploreda-dsl reference to list every setting a chart type takes.
-
3fac1b0: Newsprint now sizes axis text on scatter and bar charts, and axis layout measures text so larger or wider type claims room instead of overlapping. Charts gain an optional
stylesetting for title size, title weight, and subtitle size, axis text sizes offer a Theme option, and the Theme tab lists every chart that overrides the theme with a reset for each. Axis text now follows the theme's foreground color, so it stays readable in dark mode. -
9d3a60f: Notes now edit like a block editor: type / to insert headings, lists, quotes, code, or dividers, and select text to format it from a small toolbar. The always-visible control bar is gone.
-
19c9cb4:
npx exploredaturns any folder into a project: chart a CSV or JSON file to add it as a one-line source and open it on a field summary and its rows, and create, rename, or delete analyses from the app.--hiddenkeeps a new project's text in.exploreda/, and the theme you pick is remembered across projects. -
6f5e7cd: Open a project folder in the browser with
directoryProjectFiles, a file adapter for a folder fromshowDirectoryPicker(Chromium browsers). It reads and writes the same files asnpx exploredaand notices files other programs change. -
728a89a: Open a project folder:
readProjectFolderloads project text, analysis files, and their data through any file adapter. Analysis views name their query and parameter values withquery=andbind., andexploreda-dsl project <folder>checks every view against its data. -
a2e6789: Pivot tables sort their groups, print each outer group value once, name the column field above its values, and add Total rows and columns that recompute each aggregate; new
showTotalsandshadeCellssettings turn totals and value shading off. A standalone color legend lists each value with its share when the panel has room, summary and data table headers keep their names whole in narrow columns, and markdown notes keep a reading width. -
cd5dfdd: Point maps can show streets and place names when zoomed in. Install the optional maplibre-gl package and call registerMapLibre(maplibregl); the default basemap is OpenFreeMap, with no key needed.
-
97f2aee: Point maps pan smoothly with thousands of points, can optionally group crowded points into counted circles that split as you zoom in, and can be saved as PNG images that include the street basemap and its credits.
-
6245226: Press ? in the workspace, or choose Keyboard shortcuts from the workspace menu, to see every keyboard shortcut.
-
f0c3a8c: Region maps can use built-in World countries, US states, and US counties without importing GeoJSON. They load only when a map uses them, join by ISO, postal, or FIPS codes, and hosts can add more with registerBoundarySet.
-
8c7457c: Right-click any chart to copy or download its image, and call exportChartPng(chartId) on the ExplorEda ref to get a chart's PNG as a Blob from code, for example to upload it to your own storage.
-
737f993: Right-click any drawn object in a composition for a menu of what it is made of: the mark with a summary of what it draws, each scale it uses, the unit, the repeat, a trace, and the repeat's filter. Each line opens that part of the editor and scrolls to it. Mark cards in the editor show the same one-line summaries.
-
43eab73: Row charts can rank a grouped summary (count, sum, or average) with
aggregateId. Values match vertical bars, Other pools its rows, and the order holds while other charts filter.topNkeeps Other's members fixed at every size, signed values draw on both sides of zero, and hover and Alt-click show each value's summary and contributing rows. -
e221d0e: Run
npx exploredain a folder to open it as a project in your browser. A local server, bound to this machine and keyed to each run, serves the folder to the standalone app, which shows every analysis and its views.--exampleopens a sample project. -
9d12def: Scatter and line charts can mark a region (rectangle or ellipse), save the selected rows as a highlighted set that keeps its members when filters change, draw a line at a calculated mean, median, minimum, or maximum over all or filtered rows, and point a callout at whichever row has the largest or smallest value.
-
ed71810: Scatter axes can use a true log scale. Rows at or below zero are left off the chart and counted by a warning marker on the axis; bounds and axis drag work in log space.
-
6b4fc4f: Scatter plots add two density displays: hexagonal bins, where a click selects a hexagon's exact source rows, and smoothed density, which draws filled regions and contour lines in rows per X×Y unit with bandwidth and level controls. Both keep group-colored point overlays and regression fits, and Alt-click traces each hexagon or level.
-
7726b96: Scatter plots can carry saved callouts and reference lines. Add them from the new Notes tab in chart settings; a callout attaches to a record by key field values, so it follows that record through filters, reordering, and data updates, and its label can be dragged or nudged as one undo step.
-
298ad78: Scatter plots can draw linear regression fits. Each color group in each facet gets its own line with its equation and R² on the chart, an optional overall fit, and an Alt-click trace with slope, offset, and the rows used. Fits refit when other charts filter, not when you brush the scatter itself.
-
9e4c7e9: Scatter plots can show a paired summary (Pearson r and pair count on the chart, with means, standard deviations, the sample covariance matrix, and per-group results in its trace) and marginal X and Y histograms. Click a histogram bar to filter to its range; the chart's own selection reads as a darker share.
-
15dd22d: Scatter plots now accept categorical fields on either axis: each category gets a band with jittered points, and brushing a band filters by category. A scatter with nothing to draw now says why instead of staying blank.
-
476180a: Scatter points drawn over hexagon and density surfaces now use the chart's point size, which defaults larger than before, and a Point size setting controls it. Faceted charts show the facet pager on the legend's line instead of in a row of its own, wrapping below the legend when the panel is narrow.
-
405aba8: Scatter regression adds polynomial fits with a shared degree and LOESS smoothing with a shared span. Polynomial labels show the equation and R²; LOESS labels show the span and a pseudo R², and its trace explains why it has no single equation. Fits that cannot run say why instead of switching methods.
-
13d7f05: Selecting a field in the Schema diagram now traces its whole lineage: where it comes from, every calculation and view that reads it, and a Show action that jumps to the chart. Fields no view reads say so.
-
a24d1d5: Set an exact range on a chart's numeric axes. The Axes settings gain Min and Max fields for scatter, bar, histogram, line, row, and box charts, saved as
xAxis.limitsandyAxis.limitsand read from dashboard text asx.min,x.max,y.min, andy.max. A range zooms the view without filtering rows. -
ba2ab9c: Set axis text sizes and use visible scatter display choices with a separate Fit tab. Keep chart settings and their controls reachable on narrow screens.
-
42c598a: Show calendar summaries as areas or stacked areas. Inspect each band, its source records, and the series that establish its baseline.
-
93c0df9: Stack counts or sums by series in Bar Chart, or compare nonnegative totals as percentages. Inspect each segment and the source records behind its category denominator.
-
3037956: Summarize dated rows by day, week, or month in Line Chart. Select calendar periods and inspect their source records, numeric exclusions, and date boundaries.
-
689e14b: The Colors panel now lists the value ramps and category colors defined inside compositions, and editing one there recolors the composition.
-
bf69f3d: The Rows drawer has a narrow size beside its expanded one. Narrow keeps the charts visible and in use next to the rows, and a click on a chart no longer closes it.
-
8fceda2: The Schema diagram now draws each query's steps and calculated fields and each view's charts, with lines from every field back to the table it comes from. Select a field to see the views that read it. Query calculations edit in place, and workspace calculations open the calculation editor from the diagram.
-
7fd14a7: The workspace header is now a single sticky line: icon buttons with tooltips, filter chips that collapse into a "+N more" popover, Rows as a quick peek (press R), and Calculations in a dialog instead of separate tabs.
-
fb206f4: Time-series lines take a year interval, for annual data such as country indicators. Ticks and point labels show the year.
-
5c92e32: Tooltips open only on hover, so closing Rows does not show hover help when focus returns.
Placing a new chart on an occupied spot now previews the charts that would move down, and applies the moves only when you accept. A chart's expand action opens a details view with the chart beside its settings and a Chart data tab. View data, Duplicate, and Delete are icons in each chart header, and chart settings hold settings only. Rows opens as a full-height drawer, calculations, colors, and grid share one floating settings panel with tabs, and confirmations are compact.
-
b10f562: Use S, D, and X on a hovered chart to open settings, duplicate it, or delete it with confirmation. V shows its data, and C clears its filters.
-
a0e4af6: Waterfall charts can now show a running total: each step adds its category's signed measure in order, from an optional start value, with numeric and date steps in sequence.
-
9397f15: Workspace controls, chart settings, dialogs, and side panels use one compact scale: shorter controls, one-row setting labels, single-row tabs, side-by-side filter bounds, and no introductory paragraphs. Data tables fill their chart, row charts keep their axis under the bars, and between 640 and 960 px charts flow two to a row instead of one.
-
cf659d2: Write a multi-table project's sources, relationships, queries, and parameters as readable text with
exportProjectText, and read it back exactly withcompileProjectText, both fromexploreda/analysis. -
9e4a081: Write workspace filters in dashboard text as filter lines, one per field, such as
filter Region=West,East. Exported text includes them, so applying it keeps the filters.
Patch Changes
- 46cf230: A blank composition now shows an Open editor button, a new composition opens in its editor, and the settings popover links to the full editor. Edits to a chart's title, subtitle, note, style, or composition no longer redraw the other charts, and time series and calendar charts recompute faster when filters change.
- 08474ef: A chart now shows a ring while its settings are open, and the settings popover uses the same accent, so it is clear which chart you are editing.
- 2fde409: A click on empty space in a bar, row, box, Sankey, or scatter chart (including a scatter's marginal histograms) now clears that chart's filters. Scatter marginal histograms now stack by the points' color categories in the same palette.
- 33b04da: A data table with an active search now shows the search as a chip in its chart header, with a button to clear it.
- aa2d0b1: Aggregate bar, series bar, and time series charts now keep their value axis while other charts filter. The axis spans every row and grows only when a filtered value, such as a higher average, passes it.
- c440001: Bar charts of whole-number fields now center each bin on the integers it covers, so bars no longer leave empty gaps between values or sit between axis ticks.
- d43de65: Bar, row, and line charts now show hovered values in the panel header, outline the hovered bar, and add a status line with the selection's row count. Counts filtered by other charts keep a faint bar for every row behind them, line charts read every series at the hovered x, and row chart labels select their category.
- 167ec9c: Box plot outlier dots no longer draw a blue outline.
- 99d7605: Box plot Y axes now use compact value labels, such as $15K, and size the left margin to fit them, so tick labels no longer run under the axis title for currency and other long formats.
- df8efb7: Box plots no longer show a color legend above the chart. Each box is already colored and labeled on the category axis.
- The built package's internal chunks are split differently again. Imports, exports, and behavior are unchanged.
- 6d382dd: Callout labels stay readable at the plot's edges, reading from their other end instead of running off the chart, and removing an annotation in the Notes tab moves focus to the next one.
- bc088f9: Charts can expand from the right edge even when another chart touches them.
- 8a042c4: Charts on large data spend less time grouping rows by category: category keys for numbers and booleans are built directly, and string keys are reused instead of serialized for every row.
- b1650a5: Choose a chart type and configure its fields in separate panels.
- 3f16a73: Clicking a pivot table value opens its source-row inspector, replacing the repeated Inspect links.
- 5aa6286: Clicking empty map space now clears that map's filters, and pressing Escape in a map preview no longer clears the saved chart's filters.
- 6138a4a: Closing the field list no longer pops up the Fields button tooltip.
- e5e0666: Composition guides now draw a horizontal rule in every repeat at that repeat's own y value, can be limited to listed repeats, and keep a paper-colored casing so they stay legible over dense marks.
- 7f27fef: Composition stack labels now pick dark or white text by the color of the segment they sit on, instead of dark text on a white outline.
- 47a9c6e: Dashboard text now reads the newline, tab, and unicode escapes that export writes inside quoted values, so a title or composition note with a line break survives a round trip.
- d90daed: Data table columns fit their names and values again and leave spare width empty instead of spreading across the chart. Column headers show one compact tooltip above the header, with the field summary and the hovered distribution bar, so it no longer covers other headers or rows.
- 2df553f: Dragging a composition annotation attached to a frame or a data glyph, or a guide's label, now keeps its anchor ring and the guide's rule in place while the text moves, instead of moving them with it until release.
- 8a737f0: ECDF hover values now read in the panel header and beside each curve, with the hovered value on the x axis, medians and selection in a status line, and quantile names in a gutter. Filtered metric cards compare against every row: a share of the total for counts and sums, and the difference from the overall average.
- 4042d68: Edit calculations in a denser layout with clearer dependency and result previews.
- abc5752: Every chart now shows the same centered message when it has nothing to draw, and the ECDF, parallel coordinates and Sankey status lines match the other charts, including hiding usage hints in facets. Heatmaps and calendar heatmaps gain the same status line, with the selected row count and a usage hint.
- e0acb14: Export the
WorkspaceTheme,WorkspaceThemeId, andChartStyleOverridestypes, and document the theme CSS variables hosts can set to brand the editorial themes. - 42f6612: Filter changes on large data spend much less time recomputing field statistics. Data tables profile only their own columns, and numeric statistics read each value once.
- 63519c5: Filtering is much faster in workspaces whose host passes
onStateChangesnapshots back assavedData, such asExplorEdaProject: the echoed snapshot no longer rebuilds every chart. Date filters on line charts no longer slow down with the square of the row count. - 0815cb6: GeoJSON import now names the feature, ring, and point of each problem, shows feature and vertex counts, and never adds geometry when the chart cannot use it. The join preview lists unmatched keys with their types and flags keys that match only as text.
- eac45b4: Grid lines no longer show a redundant hover readout or turn blue on normal hover. They turn blue when Alt is held for trace on click, and their accessible names identify the field and value.
- 7feb670: Heatmap and calendar heatmap polish: the legend names the metric in the field's format, hovered values read in the panel header, colors suit dark themes, and the heatmap titles its row and column fields. Click a heatmap row or column label to select it, and in the calendar Shift-click to select a run of days or click a month or the period to select it.
- cc922b0: Histogram brush filters now snap to bar edges, so a filter never splits a bar and every bar inside it is colored. A range filter moves to the nearest edges when the bin count changes.
- 41169f2: Image export now covers 3D charts (at the current camera view) and compositions (the finished artboard, from the same Export image menu that replaces the inspector's Copy PNG button), and shows every row of pivot, summary, and other bounded charts instead of only the part in view.
- c0dd3ad: Show calculations as compact cards in a narrow settings panel, keep the calculation search icon clear of typed text, and close chart details after dismissing a confirmation.
- dcddfea: Parallel coordinates and Sankey charts show hovered values in the chart header instead of a box over the plot. Parallel coordinates label the hovered line's value on each axis and select a category when you click it on its axis; Sankey node labels select their node, and flows keep their color in dark mode.
- dfb70d9: Adding the first chart to an empty grid now places it directly. The chart no longer waits for an unavailable placement target.
- c216544: Polish workspace filters: editing one is a single undo step, its control shows every value the other filters allow, the field list marks fields that already have one, and chart traces name them. Chart notes and traces now say "other filters" instead of "other chart filters", because workspace filters narrow charts too.
- 88e80c4: Scatter plot calculated-field badges now sit after the full axis title, so they no longer overlap longer titles such as those ending in "· symlog".
- 8101d1e: Scatter plots now pad symmetric-log axes below the minimum as well as above the maximum, and give a constant field a visible span, so edge points are no longer clipped at the plot border.
- 13f1fc5: Scatter smoothed density draws opaque, theme-aware bands with thin contour lines instead of stacked gray layers, and hexagons use a count color that reads in light and dark themes. Fit labels state LOESS settings once, keep equations whole in small facets, and the paired summary marks each group's r with its color.
- 64683b3: Some shared modules in the built package now sit in different chunk files. Imports, exports, and behavior are unchanged.
- 3d526c6: Fields are typed more reliably. Labels with a trailing number, such as "Depot 2" or "Route 7", and hex-style codes such as "0x1A" now stay categorical instead of reading as dates or numbers. Impossible dates such as 2025-02-30 are no longer accepted, and "TRUE"/"FALSE" columns are detected as boolean. Dates without a time zone, including slash dates like 1/15/2025 and month-name dates like "Jan 15 2025", now read as UTC everywhere, so field details, filters, and daily bins agree in every time zone.
- 3ffec8d: The active sort arrow in a data table header stays visible beside the column actions.
- a3d7f8c: The Add chart dialog fits every chart type on shorter and narrower screens and no longer shows a trace control on its preview. The calculated field hover card is denser, with a compact formula, label and value rows, and a small Inspect chain & edit action.
- a5c424d: The dashboard text reference (
exploreda-dsl reference) now explains thatx.minandx.maxset the axis range shown, and its path example usesxAxis.scaleType=symlog, a scale the charts draw. - 06f7052: The package README now starts with
npx exploreda, and the package build copies the sample project in a way that works on Windows. - 54c3810: The scatter trace popover now reads top to bottom: filter status, source values, how each visual channel is drawn, and hover text, with scale and canvas details collapsed.
- cff6cc0: The workspace no longer draws a focus ring around the whole chart grid. Tabbing past the view controls now moves straight to the first chart.
- 3082094: Use compact table columns and scroll only when the columns need more room.
- 361d840: Waterfall subtotals now draw as slim checkpoint markers on the running total, with a hairline between groups, and start and end totals draw as a line from zero to a filled dot, so the colored steps lead.