Releases: vega/vega-lite
v2.0.0-beta.1
This is the first beta release of the
Major
- Vega-Lite now compiles to Vega 3
- Support for composition (Layer, Concat, and Repeat in addition to Facet)
- Describe interactive plots with Selections.
Details
- coming soon...
v2.0.0-alpha.10
- Selection filter support
- Selections for repeat, concat, layer and facet
- Remove support for filters of arrays withing the array transform. You can still create multiple entries.
v2.0.0-alpha.9
Syntax Changes
Top-Level Properties
Now top-level properties such as padding, $schema, config. etc. can only be specified at the top-level of a specification.
- Remove a defunct top-level property
viewport
as it no longer exists in Vega 3
Transform
transform
is now an array of different transform objects so the order of the transforms becomes clear.
Currently we support two types of transform objects
- Filter transform, which has a
"filter"
property describing (1) a Filter Definition Object (2) an array of Filter Definition Objects or (3) a Vega expression defining the filter. - Calculate transform, which has two properties: (1)
calculate
defining a Vega Expression of the formula to be calculated and 2)as
defining the calculated field name.
The follow diff shows an example changed in a specification.
- "transform": {
- "filter": "datum.year == 2000",
- "calculate": [{"as": "gender", "expr": "datum.sex == 2 ? \"Female\" : \"Male\""}]
- },
+ "transform": [
+ {"filter": "datum.year == 2000"},
+ {"calculate": "datum.sex == 2 ? \"Female\" : \"Male\"", "as": "gender"}
+ ],
Bin
Removed config.maxbins
and make the default depend on the channel. You can still override the maximum number of bins for each encoding.
Filled
Support filled in mark definitions (#2083).
Others
v2.0.0-alpha.8
- Support sorting time domains
- Remove need for babel
- Don't make bar automatically transparent for non-stack bar with raw fields on level of detail channels
- Allow users to customize role
- Add
labelLimit
,titleLimit
to config, remove labelMaxLength - Add
axisX
,axisY
,axisLeft
,axisTop
, andaxisBand
in config
v2.0.0-alpha.7
- Update rules for legend type
- Fix color scale legends
- Only apply opacity if there is raw level of detail channel
v2.0.0-alpha.6
- We now support
"aggregate": "count"
without"field": "*"
(See example specification changes in #2020) - Better scales for binned fields (using Vega's new
bin-linear
andbin-ordinal
scales).
v2.0.0-alpha.5
- Add warning when using fieldDef with incompatible channel
v2.0.0-alpha.4 – Improved Release Output
We now ship both ts and js files to npm packages.
All compiled js files, both bundled (vega-lite.js
and vega-lite.min.js
) and TS compiler's output, are under build/
.
If you wish to do local import of a particular file, please import from build/src
from dependent projects (both JS and TS).
For example, to import Channel
, you can import like this (diff showing traditional import)
+import {Channel} from 'vega-lite/build/src/channel';
-import {Channel} from 'vega-lite/src/channel';
For dependent TS projects, this approach has multiple benefits:
-
Users can do
npm link vega-lite
in a dependent project. TS compiler will no longer import TS files rather than JS files from linked project. (.ts
files have high precendence than.js
files.) -
Source map will still work when users try to debug lines in Vega-Lite.
v2.0.0-alpha.3 – Interaction Support in Unit Specifications & Config Revision
Breaking Syntax Revision
Revise Axis/Legend Config to match Vega 3 and leverage config parser in Vega 3's parser.
Axis
- Rename
axisWidth
todomainWidth
,axisColor
todomainColor
,tickLabelColor
tolabelColor
,tickLabelFont
tolabelFont
,tickLabelFontSize
tolabelFontSize
,tickPadding
tolabelPadding
,titleOffset
totitlePadding
- Separate Axis from AxisConfig. Make these properties only available as
Axis
properties:domain
,grid
,labels
,labelMaxLength
,labelPadding
,maxExtent
,minExtent
,offset
,position
,shortTimeLabels
,ticks
,tickCount
,tickSize
,titleMaxLength
,titlePadding
,zindex
- Remove
labelAlign
,labelBaseline
,subdivide
,tickSizeMajor
,tickSizeMinor
,tickSizeEnd
from Axis Config
Legend
- Add
symbolType
- Remove
margin
,symbolShape
from Legend Config - Separate Legend from LegendConfig. Make these properties only available as Legend properties:
entryPadding
,orient
,offset
,padding
,tickCount
,zindex
- Remove related code for Vega Legend configs
Scale
- Range config for scale are now available inside
config.scale.*
(e.g.,config.scale.minSize
,config.scale.shapes
)
Extend Mark Syntax
- Make mark property can be either a mark type or (new) a mark definition object
- Separate CompositeMark such as
"error-bar"
from (primitive) Mark …- Provide API for registering new type of compositeMark
Interaction Syntax
Initial support for specifying interactive behaviours within unit specifications. Four example specifications demonstrate interactive brushing, highlighting, panning & zooming, and dynamic query widgets.
The syntax for interactive selections has subtly changed from our earlier research paper. Complete documentation is forthcoming but, in the interim, please consult these four comments that briefly describe the space of selection specifications currently supported.
Note: We plan to make another release very soon this week that will move all compiled files to build/
folder.
v2.0.0-alpha.2
Syntax
Mark
- Rename
"errorBar"
=>"error-bar"
for consistency with other properties. - Separate CompositeMark from (primitive) Mark …
- Provide API for registering new type of composite marks with a normalizer method
Encoding
- Add
stack
tox
andy
encoding channel - Add
format
fortext
encoding channel + removeconfig.text.format
Scale / Axis / Legend
- Add new axis properties:
labelPadding
,position
,titlePadding
,maxExtent
,minExtent
- Add new legend properties:
entryPadding
,tickCount
,zindex
,titlePadding
- Add new scale properties:
interpolate
Other Config
- Rename
config.mark.stacked
toconfig.stack
- Add scale range config to match Vega config
- Remove
config.text.applyColorToBackground
, which adds background to text mark.
Composition
- Make layer operator singular (
layer
), not plural (layers
) -- to be consistent withfacet
,repeat
, andconcat
.
Output
- Add mark role to the output so that we can leverage Vega mark's role config for Vega-Lite marks that are not Vega marks (
bar
,tick
,point
,circle
,square
)
Internal
- Distinguish between
Extended*Spec
and*Spec
, which both implementGeneric*Spec
, and betweenMark
andCompositeMark