Vega-Lite 5
5.0.0 (2021-02-24)
In this release of Vega-Lite we introduce a major improvement to how you make charts interactive. We unify the concept of selections in Vega-Lite with the signals from Vega into a new abstraction called parameters. Parameters can change most properties of a chart (using reactive updates without re-rendering the whole chart) including driving conditional encodings and filtering data. Parameters are driven by interactions, bound widgets, or externally via Vega's signal API.
With parameters, we can make our docs even more interactive. You can explore different parameters. To make this chart, we did not have to write any JavaScript.
Parameters are a major upgrade for selections. They enable many previously unsupported interactions and we believe make it easier to make charts interactive. You can learn everything about them in the new parameter docs.
We also use parameters to help you learn more about different mark properties, just like the arc mark example above. See arc, area, bar, line, point, rect, rule, and text marks' documentations.
Below are the detailed changes in this release.
Breaking changes
-
The old
selection
in prior version is now deprecated and removed from the JSON schema. The compiler can still compile the old selection syntax, but selection maybe removed in a future major version. -
The default projection is now equalEarth. (#7052) (2c81034), closes #7052 #5367
-
Field's
band
is now the field'sbandPosition
and mark'swidth/height: {band: ...}
. (#7190) (af68557), closes #7190 -
No more es5 builds.
-
Move selection emptiness check to predicate (#7155) (18b61c5)
-
reapply externalizing Vega Util and removing es5 build (#6959) (cf8ba6d), closes #6959
-
Latitude/longitude's value is removed since you should use
datum
instead -
do not nice scale domains when they are set explicitly (#7157) (92aaa38), closes #7157
-
split field's
band
into field'sbandPosition
& mark'swidth/height: {band: ...}
-
The deprecated
rangeStep
is now removed (#6992) (e4039a1), closes #6992 #5139
Features
-
filter invalid for geojson data (#7080) (bd92548), closes #6163
-
support getBinStepSignal for prebinned data (#7063) (6ae3648)
- support expr in projections (#7060) (d35650b)
- support hiding header, setting orientation (#7150) (d65bfff)
Bug Fixes
- latitude/longitude should not support valueDef (#6993) (b7827ce), closes #6993 #6154
- remove redundant
MarkConfig<>
from the schema (#7145) (a645313) - allow any value as default value in lookup transforms (#7074) (522d327)
- allow axis settings when ("bin":"binned"). (#7192) (09a407a)
- apply tickMinStep to gridlines as well (#7061) (782dc7a), closes #7034
- correct axis schema to clarify which properties support expression (#7148) (fcfd955)
- correctly flatten nested field references for scale bindings (#7159) (c10f44e)
- interactive legends should be toggleable by default (#7115) (e73e71a)
- invalid labelBaseline problem (#7147) (59aace7)
- normalize selections across multi-views and selection emptiness (#7204) (a72ea91)
- remove normalized spec from schema (#6965) (df77ca1)
- respect line's orient even if the "measure" is discrete to support bump chart (#7142) (1c4afb8)
- restrict pivot transform's op to aggregates (#7199) (c3edb93)
- scale-bound selections should respect reversals (#7163) (bafca07)
- selections should be cleared by events in any view (#7165) (9289bb0)
- smoothen
value
gradient for var param -> point selection (#7208) (efa2548) - support discretizing scales for shape (#7170) (a6855ff)
- use correct expression functions to pan/zoom symlog scales (#7158) (ebb8e27)
- use default resolve when computing layout size (#7077) (cf6a842)
New Examples
- Comet Chart) - Thanks @mattjin
Documentation changes
-
The ecosystem page now includes Bayes, Neptune, NL4DV, github-repo-stats
(#7049) (fb12778), closes #7049 -
clarify how to call command line scripts (#7181) (0ed0cc8), closes #7181
-
correct documentation of domain union with (#7027) (d6c1157), closes #7027
-
document autosizing behavior (#7097) (9b27d2d), closes #7097 #7096
-
explain why there will be fewer bins than specified in
maxbins
. (#6990) (1202029), closes #6990 -
simplify
bar_layered_weather
(#7140) (c7b541d), closes #7140