Skip to content

Releases: holoviz/holoviews

Version 1.9.0

03 Nov 14:15
Compare
Choose a tag to compare

This release includes a large number of long awaited features, improvements and bug fixes, including streaming and graph support, binary transfer of bokeh data, fast Image/RGB regridding, first-class statistics elements and a complete overhaul of the geometry elements.

Particular thanks to all users and contributers who have reported issues and submitted pull requests.

Features:

  • The kdim and vdim keyword arguments are now positional making the declaration of elements much less verbose (e.g. Scatter(data, 'x', 'y')) (#1946)
  • Added Graph, Nodes, and EdgePaths elements adding support for plotting network graphs (#1829)
  • Added datashader-based regrid operation for fast Image and RGB regridding (#1773)
  • Added support for binary transport when plotting with bokeh, providing huge speedups for dynamic plots, including those from datashader (#1894, #1896)
  • Added Pipe and Buffer streams for streaming data support (#2011)
  • Add support for datetime axes on Image and RGB, and when applying datashading and regridding operations (#2023)
  • Added Distribution and Bivariate as first-class elements that can be plotted with matplotlib and bokeh without depending on seaborn, and thus now fully interactive in bokeh (#1985)
  • Completely overhauled support for plotting geometries with Path, Contours and Polygons elements, including support for coloring individual segments and paths by value (#1991)

Enhancements:

  • Add support for adjoining all elements on matplotlib plots (#1033)
  • Improved exception handling for data interfaces (#2041)
  • Add groupby argument to histogram operation (#1725)
  • Add support for reverse sort on Dataset elements (#1843)
  • Added support for invert_x/yaxis on all elements (#1872, #1919)

Fixes:

  • Fixed a bug in matplotlib causing the first frame in gif and mp4 getting stuck (#1922)
  • Fixed various issues with support for new nested categorical axes in bokeh (#1933)
  • A long list of other bug fixes, too many to list here.

Changes affecting backwards compatibility:

  • The contours operation no longer overlays the contours on top of the supplied Image by default and returns a single Contours/Polygons rather than an NdOverlay of them (#1991)
  • The values of the Distribution element should now be defined as a key dimension (#1985)
  • The seaborn interface was removed in its entirety being replaced by first class support for statistics elements such as Distribution and Bivariate (#1985)
  • Since kdims and vdims can now be passed as positional arguments the bounds argument on Image is no longer positional (#1946).
  • The datashade and shade cmap was reverted back to the datashader default blue, due to confusing behavior of the fire cmap against a white background (#2078)
  • Dropped all support for bokeh versions older than 0.12.10, which was not being tested and was making the code complex and error-prone
  • histogram operation now returns Histogram elements with less generic value dimension and customizable label (#1836)

Version 1.8.4

13 Sep 23:21
Compare
Choose a tag to compare

This bugfix release includes a number of critical fixes for compatiblity
with bokeh 0.12.9 along with various other bug fixes. Many thanks to our
users for various detailed bug reports, feedback and contributions.

Fixes:

  • Fixes to register BoundsXY stream. (#1826)
  • Fix for Bounds streams on bokeh server. (#1883)
  • Compatibility with matplotlib 2.1 (#1842)
  • Fixed bug in scrubber widget and support for scrubbing discrete (#1832)
  • Various fixes for compatibility with bokeh 0.12.9 (#1849, #1866)
  • Fixes for setting QuadMesh ranges. (#1876)
  • Fixes for inverting Image/RGB/Raster axes in bokeh. (#1872)

Version 1.8.3

21 Aug 23:06
Compare
Choose a tag to compare

This bugfix release fixes a number of minor issues identified since the last release:

Features:

  • Add support for setting the bokeh sizing_mode as a plot option (#1813)
    Fixes:

  • Handle StopIteration on DynamicMap correctly. (#1792)

  • Fix bug with linked streams on empty source element (#1725)

  • Compatibility with latest datashader 0.6.0 release (#1773)

  • Fixed missing HTML closing tag in extension (#1797, #1809)

  • Various fixes and improvements for documentation (#1664, #1796)

Version 1.8.2

04 Aug 18:25
Compare
Choose a tag to compare

This bugfix release addresses a number of minor issues identified since the 1.8.1 release:

Feature:

  • Added support for groupby to histogram operation. (#1725)

Fixes:

  • Fixed problem with HTML export due to new extension logos. (#1778)
  • Replaced deprecated call usage with opts method throughout codebase. (#1759, #1763, #1779)
  • Fixed pip installation. (#1782)
  • Fixed miscellaneous bugs (#1724, #1739, #1711)

Version 1.8.1

07 Jul 16:23
Compare
Choose a tag to compare

This bugfix release addresses a number of minor issues identified since the 1.8 release:

Feature:

  • All enabled plotting extension logos now shown (#1694)

Fixes:

  • Updated search ordering when looking for holoviews.rc (#1700)
  • Fixed lower bound inclusivity bug when no upper bound supplied (#1686)
  • Raise SkipRendering error when plotting nested layouts (#1687)
  • Added safety margin for grid axis constraint issue (#1695)
  • Fixed bug when using +framewise (#1685)
  • Fixed handling of Spacer models in sparse grid (#1682)
  • Renamed Bounds to BoundsXY for consistency (#1672)
  • Fixed bokeh log axes with axis lower bound <=0 (#1691)
  • Set default datashader cmap to fire (#1697)
  • Set SpikesPlot color index to None by default (#1671)
  • Documentation fixes (#1662, #1665, #1690, #1692, #1658)

Version 1.8.0

30 Jun 01:25
Compare
Choose a tag to compare

This release includes a complete and long awaited overhaul of the HoloViews documentation and website, with a new gallery, getting-started section, and logo. In the process, we have also improved and made small fixes to all of the major new functionality that appeared in 1.7.0 but was not properly documented until now. We want to thank all our old and new contributors for providing feedback, bug reports, and pull requests.

Major features and improvements:

  • Completely overhauled the documentation and website (PR #1384, #1473, #1476, #1473, #1537, #1585, #1628, #1636)
  • Replaced dependency on bkcharts with new Bokeh bar plot (#1416) and bokeh BoxWhisker plot (#1604)
  • Added support for drawing the Arrow annotation in bokeh (#1608)
  • Added periodic method to DynamicMap to schedule recurring events (#1429 )
  • Cleaned up the API for deploying to bokeh server (#1444, #1469, #1486)
  • Validation of backend-specific options (#1465)
  • Added utilities and entry points to convert notebooks to scripts including magics (#1491)
  • Added support for rendering to PNG in bokeh backend (#1493)
  • Made matplotlib and bokeh styling more consistent and dropped custom matplotlib rc file (#1518)
  • Added iloc and ndloc method to allow integer-based indexing on tabular and gridded datasets (#1435)
  • Added option to restore case-sensitive completion order by setting hv.extension.case_sensitive_completion=True in python or via holoviews.rc file (#1613)

Other new features and improvements:

  • Optimized datashading of NdOverlay (#1430)
  • Expose last DynamicMap args and kwargs on Callable (#1453)
  • Allow colormapping Contours Element (#1499)
  • Add support for fixed ticks with labels in bokeh backend (#1503)
  • Added a clim parameter to datashade controlling the color range (#1508 )
  • Add support for wrapping xarray DataArrays containing dask arrays (#1512 )
  • Added support for aggregating to target Image dimensions in datashader aggregate operation (#1513)
  • Added top-level hv.extension and hv.renderer utilities (#1517)
  • Added support for Splines defining multiple cubic splines in bokeh (#1529)
  • Add support for redim.label to quickly define dimension labels (#1541)
  • Add BoundsX and BoundsY streams (#1554)
  • Added support for adjoining empty plots (#1561)
  • Handle zero-values correctly when using logz colormapping option in matplotlib (#1576)
  • Define a number of Cycle and Palette defaults across backends (#1605 )
  • Many other small improvements and fixes (#1399, #1400, #1405, #1412, #1413, #1418, #1439, #1442, #1443, #1467, #1485, #1505, #1493, #1509, #1524, #1543, #1547, #1560, #1603)

Changes affecting backwards compatibility:

  • Renamed ElementOperation to Operation (#1421)
  • Removed stack_area operation in favor of Area.stack classmethod (#1515 )
  • Removed all mpld3 support (#1516)
  • Added opts method on all types, replacing the now-deprecated __call__ syntax to set options (#1589)
  • Styling changes for both matplotlib and bokeh, which can be reverted for a notebook with the config option of hv.extension. For instance, hv.extension('bokeh', config=dict(style_17=True)) (#1518 )

Version 1.7.0

25 Apr 21:01
Compare
Choose a tag to compare

This version is a major new release incorporating seven months of work involving several hundred PRs and over 1700 commits. Highlights include extensive new support for easily building highly interactive Bokeh plots, support for using datashader-based plots for working with large datasets, support for rendering images interactively but outside of the notebook, better error handling, and support for Matplotlib 2.0 and Bokeh 0.12.5. The PRs linked below serve as initial documentation for these features, and full documentation will be added in the run-up to HoloViews 2.0.

Major features and improvements:

Other new features and improvements:

Changes affecting backwards compatibility:

  • Automatic coloring and sizing on Points now disabled (PR #748).
  • Deprecated max_branches output magic option (PR #1293).
  • Deprecated GridImage (PR #1292, #1223).
  • Deprecated NdElement (PR #1191).
  • Deprecated DFrame conversion methods (PR #1065).
  • Banner text removed from notebook_extension() (PR #1231, #1291).
  • Bokeh's matplotlib compatibility module removed (PR #1239).
  • ls as matplotlib linestyle alias dropped (PR #1203).
  • mdims argument of conversion interface renamed to groupby (PR #1066).
  • Replaced global alias state with Dimension.label (#1083).
  • DynamicMap only updates ranges when set to framewise
  • Deprecated DynamicMap sampled, bounded, open and generator modes (#969, #1305)
  • Layout.display method is now deprecated (#1026)
  • Layout fix for matplotlib figures with non-square aspects introduced in 1.6.2 (PR #826), now enabled by default.
  • Bokeh matplotlib compatibility interface removed, dropping support for Distribution and Bivariate Element plots in bokeh (Issue #1218). These will be readded in version 2.0 as part of HoloViews' own statistical element module.

Version 1.6.2

23 Aug 19:54
Compare
Choose a tag to compare

Bug fix release with various fixes for gridded data backends and optimizations for bokeh.

  • Optimized bokeh event messaging, reducing the average json payload by 30-50% (PR #807).
  • Fixes for correctly handling NdOverlay types returned by DynamicMaps (PR #814).
  • Added support for datetime64 handling in matplotlib and support for datetime formatters on Dimension.type_formatters (PR #816).
  • Fixed handling of constant dimensions when slicing xarray datasets (PR #817).
  • Fixed support for passing custom dimensions to iris Datasets (PR #818).
  • Fixed support for add_dimension on xarray interface (PR #820).
  • Improved extents computation on matplotlib SpreadPlot (PR #821).
  • Bokeh backend avoids sending data for static frames and empty events (PR #822).
  • Added major layout fix for figures with non-square aspects, reducing the amount of unnecessary whitespace (PR #826). Disabled by default until 1.7 release but can be enabled with:
from holoviews.plotting.mpl import LayoutPlot
LayoutPlot.v17_layout_format = True
LayoutPlot.vspace = 0.3

Version 1.6.1

27 Jul 20:15
Compare
Choose a tag to compare

Bug fix release following the 1.6 major release with major bug fixes for the grid data interfaces and improvements to the options system.

  • Ensured that style options incompatible with active backend are ignored (PR #802).
    Added support for placing legends outside the plot area in bokeh (PR #801).
  • Fix to ensure bokeh backend does not depend on pandas (PR #792).
  • Fixed option system to ensure correct inheritance when redefining options (PR #796).
  • Major refactor and fixes for the grid based data backends (iris, xarray and arrays with coordinates) ensuring the data is oriented and transposed correctly (PR #794).

Version 1.6

27 Jul 20:07
Compare
Choose a tag to compare

A major release with an optional new data interface based on xarray, support for batching bokeh plots for huge increases in performance, support for bokeh 0.12 and various other fixes and improvements.

Features and improvements:

  • Made VectorFieldPlot more general with support for independent coloring and scaling (PR #701).
    Iris interface now allows tuple and dict formats in the constructor (PR #709.
  • Added support for dynamic groupby on all data interfaces (PR #711).
  • Added an xarray data interface (PR #713).
  • Added the redim method to all Dimensioned objects making it easy to quickly change dimension names and attributes on nested objects #715).
  • Added support for batching plots (PR #715).
  • Support for bokeh 0.12 release (PR #725).
  • Added support for logz option on bokeh Raster plots (PR #729).
  • Bokeh plots now support custom tick formatters specified via Dimension value_format (PR #728).