Skip to content

Releases: vega/altair

Version 4.0.1

23 Mar 15:30

Choose a tag to compare

Bug fixes

  • Update Vega-Lite version to 4.0.2
  • Fix issue with duplicate chart divs in HTML renderer (#1888)

Version 4.0.0 Release

11 Dec 06:03

Choose a tag to compare

Altair Version 4.0.0 release

Version 4.0.0 is based on Vega-Lite version 4.0, which you can read about at
https://github.com/vega/vega-lite/releases/tag/v4.0.0.

It is the first version of Altair to drop Python 2 compatibility, and is tested
on Python 3.5 and newer.

Enhancements

  • Support for interactive legends: (Example)
    interactive legend

  • Responsive chart width and height: (Example)
    dynamic width

  • Bins responsive to selections: (Example)
    responsive bin

  • New pivot transform: (Example)
    pivot

  • New Regression transform: (Example)
    regression

  • New LOESS transform: (Example)
    loess

  • New density transform: (Example)
    density

  • Image mark (Example)
    image

  • New default html renderer, directly compatible with Jupyter Notebook and
    JupyterLab without the need for frontend extensions, as well as tools like
    nbviewer and nbconvert, and related notebook environments such as Zeppelin,
    Colab, Kaggle Kernels, and DataBricks. To enable the old default renderer, use:

    alt.renderers.enable('mimetype')
    
  • Support per-corner radius for bar marks: (Example)
    round-bar

Grammar Changes

  • Sort-by-field can now use the encoding name directly. So instead of

    alt.Y('y:Q', sort=alt.EncodingSortField('x_field', order='descending'))
    

    you can now use::

    alt.Y('y:Q', sort="-x")
    
  • The rangeStep argument to :class:Scale and :meth:Chart.configure_scale is deprecated.
    instead, use chart.properties(width={"step": rangeStep}) or
    chart.configure_view(step=rangeStep).

  • align, center, spacing, and columns are no longer valid chart properties, but
    are moved to the encoding classes to which they refer.

Version 3.3.0

27 Nov 14:19

Choose a tag to compare

Version 3.3.0

released Nov 27, 2019

Last release to support Python 2

Enhancements

  • Add inheritance structure to low-level schema classes (#1803)
  • Add html renderer which works across frontends (#1793)
  • Support Python 3.8 (#1740, #1781)
  • Add :G shorthand for geojson type (#1714)
  • Add data generator interface: alt.sequence, alt.graticule,
    alt.sphere() (#1667, #1687)
  • Support geographic data sources via __geo_interface__ (#1664)

Bug Fixes

  • Support pickle and copy.deepcopy for chart objects (#1805)
  • Fix bug when specifying count() within transform_joinaggregate() (#1751)
  • Fix LayerChart.add_selection (#1794)
  • Fix arguments to project() method (#1717)
  • Fix composition of multiple selections (#1707)

Version 3.2.0

06 Aug 03:15

Choose a tag to compare

Version 3.2.0 (released August 5, 2019)

Upgraded to Vega-Lite version 3.4 (See Vega-Lite 3.4 Release Notes).

Following are changes to Altair in addition to those that came with VL 3.4:

Enhancements

  • Selector values can be used directly in expressions (#1599)
  • Top-level chart repr is now truncated to improve readability of error
    messages (#1572)

Bug Fixes

  • top-level add_selection methods now delegate to sub-charts. Previously
    they produced invalid charts (#1607)
  • Unsupported mark_*() methods removed from LayerChart (#1607)
  • New encoding channels are properly parsed (#1597)
  • Data context is propagated when encodings are specified as lists (#1587)

Backward-Incompatible Changes

  • alt.LayerChart no longer has mark_*() methods, because they never
    produced valid chart specifications) (#1607)

Version 3.1.0

23 Mar 15:28

Choose a tag to compare

Update includes full compatibility with version 3.3 of Vega-Lite.

Enhancements

  • Added support for vega themes via alt.themes.enable(theme_name) (#1539)

  • Added an alt.renderers.disable_max_rows() method for disabling the maximum rows check (#1538)

  • Improved user-facing warnings/errors around layering and faceting (#1535).

  • data argument is now properly handled by Chart.properties (#1525)

  • Compound charts (layer, concat, hconcat, vconcat) now move data to the top level by default. In particular, this means that the facet() method can now be called directly on a layered chart without having to change how data is specified. (#1521)

  • alt.LayerChart now supports mark_*() methods. If a layer specifies a mark at the top level, all child charts will inherit it (unless they override it explicitly).

  • alt.Chart.facet() now handles wrapped facets; for example: chart.facet('column_name', columns=5) See altair/examples/us_population_over_time_facet.py for a more complete example.

Bug fixes

  • Make chart.serve() and chart.save() respect the data transformer setting (#1538)

  • Fixed a deserialization bug for certain chart specs in schemapi (#1543)

Backward-Incompatible Changes

  • alt.Chart.facet() now accepts a wrapped facet encoding as a first positional argument, rather than a row encoding. The following are examples of old invocations, and the equivalent new invocations:

  • chart.facet(row='col1', column='col2'): unchanged

  • chart.facet('col1', 'col2'): change to chart.facet(row='col1', column='col2')

  • chart.facet('col1'): change to chart.facet(row='col1')

In each case, the new invocations are compatible back to Altair 2.X.

  • Several of the encoding channels added in 3.0 have had their capitalization corrected to better match the names used in the schema:

  • alt.Fillopacity -> alt.FillOpacity

  • alt.Strokeopacity -> alt.StrokeOpacity

  • alt.Strokewidth -> alt.StrokeWidth

  • alt.Xerror -> alt.XError

  • alt.Xerror2 -> alt.XError2

  • alt.Yerror -> alt.YError

  • alt.Yerror2 -> alt.YError2

Version 3.0.1

23 Mar 15:26

Choose a tag to compare

Fix version info bug for HTML output and Colab & Kaggle renderers.

Version 3.0

30 Apr 22:00

Choose a tag to compare

Update to Vega-Lite 3.2 and Vega 5.3 & support all new features. See
https://github.com/vega/vega-lite/releases/tag/v3.0.0 for Vega-Lite
feature lists.

Highlights

  • new compound marks: mark_boxplot(), mark_errorband(), mark_errorbar()
  • new transforms: transform_impute(), transform_joinaggregate(), transform_flatten() transform_fold(), transform_sample(), transform_stack()
  • new facet encoding that is similar to the row and column encoding, but allows for wrapped facets
  • new alt.concat() function that is similar to alt.hconcat and alt.vconcat, but allows for more general wrapped concatenation
  • new columns keyword that allows wrapped faceting, repeating, and concatenation.
  • many, many bug fixes
  • tooltips can now be automatically populated using the tooltip mark configuration.
  • ability to specify initial conditions for selections

Version 2.4.1

23 Mar 15:25

Choose a tag to compare

Enhancements

  • Several documentation cleanups & new examples

Bug Fixes

  • Fix incompatibility with pandas version 0.24 (#1315)

Version 2.3.0

23 Mar 15:24

Choose a tag to compare

Includes many reworked examples in the example gallery.

Enhancements

  • Better errors for non-string column names, as well as automatic conversion of pandas.RangeIndex columns to strings (#1107)
  • Renderers now have set_embed_options() method (#1203)
  • Added kaggle renderer & more HTML output options (#1123)

Maintenance

  • fix typing requirement in Python 3.6+ (#1185)
  • Added support & CI testing for Python 3.7 (#1008)

Bug fixes

  • Selection predicates now recognize all valid entries (#1143)
  • Python 2 support for chart.save() (#1134)

Version 2.2.2

23 Mar 15:22

Choose a tag to compare

Bug Fixes

  • fix missing JSON resource in altair.vega.v4 (#1097)