Altair v3.1.0 Release Notes

Release Date: 2019-06-06 // almost 5 years ago
  • ⚡️ 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