Releases: holoviz/holoviews
Version 1.6.1
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
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).
Version 1.5.0
A major release with a large number of new features including new data interfaces for grid based data, major improvements for DynamicMaps and a large number of bug fixes.
Features and improvements:
- Added a grid based data interface to explore n-dimensional gridded data easily (PR #562).
- Added data interface based on iris Cubes (PR #624).
- Added support for dynamic operations and overlaying of DynamicMaps (PR #588).
- Added support for applying groupby operations to DynamicMaps (PR #667).
- Added dimension value formatting in widgets (PR #562).
- Added support for indexing and slicing with a function (PR #619).
- Improved throttling behavior on widgets (PR #596).
- Major refactor of matplotlib plotting classes to simplify implementing new Element plots (PR #438).
- Added Renderer.last_plot attribute to allow easily debugging or modifying the last displayed plot (PR #538).
- Added bokeh QuadMeshPlot (PR #661).
Bug fixes:
- Fixed overlaying of 3D Element types (PR #504).
- Fix for bokeh hovertools with dimensions with special characters (PR #524).
- Fixed bugs in seaborn Distribution Element (PR #630).
- Fix for inverted Raster.reduce method (PR #672).
- Fixed Store.add_style_opts method (PR #587).
- Fixed bug preventing simultaneous logx and logy plot options (PR #554).
Backwards compatibility:
- Renamed Columns type to Dataset (PR #620).
Version 1.4.3
A minor bugfix release to patch a number of small but important issues.
Fixes and improvements:
- Added a DynamicMap Tutorial to explain how to explore very large or continuous parameter spaces in HoloViews (PR #470).
- Various fixes and improvements for DynamicMaps including slicing (PR #488) and validation (PR #483) and serialization (PR #483)
- Widgets containing matplotlib plots now display the first frame from cache providing at least the initial frame when exporting DynamicMaps (PR #486)
- Fixed plotting bokeh plots using widgets in live mode, after changes introduced in latest bokeh version (commit 1b87c91).
- Fixed issue in coloring Points/Scatter objects by values (Issue #467).
Backwards compatibility:
- The behavior of the scaling_factor on Points and Scatter plots has changed now simply multiplying area or width (as defined by the scaling_method). To disable scaling points by a dimension, set size_index=None.
- Removed hooks to display 3D Elements using the BokehMPLRawWrapper in bokeh (PR #477)
- Renamed the DynamicMap mode closed to bounded (PR #477)
Version 1.4.2
Over the past month since the 1.4.1 release, we have improved our
infrastructure for building documentation, updated the main website and
made several additional usability improvements.
Improvements to the documentation:
- Major overhaul of website and notebook building making it much
easier to test user contributions (Issue #180, PR #429) - Major rewrite of the documentation (PR #401, PR #411)
- Added Columnar Data Tutorial and removed most of Pandas
Conversions as it is now supported by the core.
Fixes and improvements:
- Major improvement for grid based layouts with varying
aspects (PR #457) - Fix for interleaving %matplotline inline and holoviews
plots (Issue #179) - Matplotlib legend z-orders and updating fixed (Issue #304,
Issue #305) color_index
andsize_index
plot options support
specifying dimension by name (Issue #391)- Added
Area
Element type for drawing area under or between
Curves. (PR #427) - Fixed issues where slicing would remove styles applied to an
Element. (Issue #423, PR #439) - Updated the
title_format
plot option to support a {dimensions}
formatter (PR #436) - Improvements to Renderer API to allow JS and CSS requirements
for exporting standalone widgets (PR #426) - Compatibility with the latest Bokeh 0.11 release (PR #393)
Version 1.4.1
Version 1.4.1
Over the past two weeks since the 1.4 release, we have implemented
several important bug fixes and have made several usability
improvements.
New features:
- Improved help system. It is now possible to recursively list all the
applicable documentation for a composite object. In addition, the
documentation may now be filtered using a regular expression pattern.
(PR #370) - HoloViews now supports multiple active display hooks making it easier
to use nbconvert. For instance, PNG data will be embedded in the
notebook if the argument display_formats=['html','png'] is supplied to
the notebook_extension. (PR #355) - Improvements to the display of DynamicMaps (PR #367, #375) as well as
many new improvements to the Bokeh backend including better
VLines/HLines (PR #362) and support for the Bars element (PR #339). - New Spikes and BoxWhisker elements suitable for representing
distributions as a sequence of lines or as a box-and-whisker plot. (PR
#346, #339) - Improvements to the notebook_extension. For instance, executing
hv.notebook_extension('bokeh') will now load BokehJS and automatically
activate the Bokeh backend (if available). - Significant performance improvement when using the groupby operation
on HoloMaps and when working with highly nested datastructures.
(PR #349, #359)
Important bug fixes:
Version 1.4.0
Over the past few months we have added several major new features and
with the help of our users have been able to address a number of bugs
and inconsistencies. We have closed 57 issues and added over 1100 new
commits.
Major new features:
- Data API: The new data API brings an extensible system of to add new
data interfaces to column based Element types. These interfaces
allow applying powerful operations on the data independently of the
data format. The currently supported datatypes include NumPy, pandas
dataframes and a simple dictionary format. [PR #284] - Backend API: In this release we completely refactored the rendering,
plotting and IPython display system to make it easy to add new plotting
backends. Data may be styled and pickled for each backend independently and
renderers now support exporting all plotting data including widgets
as standalone HTML files or with separate JSON data. - Bokeh backend: The first new plotting backend added via the new backend
API. Bokeh plots allow for much faster plotting and greater interactivity.
Supports most Element types and layouts and provides facilities for sharing
axes across plots and linked brushing across plots. [PR #250] - DynamicMap: The new DynamicMap class allows HoloMap data to be generated
on-the-fly while running a Jupyter IPython notebook kernel. Allows
visualization of unbounded data streams and smooth exploration of large
continuous parameter spaces. [PR #278]
Other features:
- Easy definition of custom aliases for group, label and Dimension
names, allowing easier use of LaTeX. - New Trisurface and QuadMesh elements.
- Widgets now allow expressing hierarchical relationships between
dimensions. - Added GridMatrix container for heterogeneous Elements and gridmatrix
operation to generate scatter matrix showing relationship between
dimensions. - Filled contour regions can now be generated using the contours operation.
- Consistent indexing semantics for all Elements and support for
boolean indexing for Columns and NdMapping types. - New hv.notebook_extension function offers a more flexible alternative
to %load_ext, e.g. for loading other extensions
hv.notebook_extension(bokeh=True).
Experimental features:
- Bokeh callbacks allow adding interactivity by communicating between
bokehJS tools and the IPython kernel, e.g. allowing downsampling
based on the zoom level.
Notable bug fixes:
- Major speedup rendering large HoloMaps (~ 2-3 times faster).
- Colorbars now consistent for all plot configurations.
- Style pickling now works correctly.
API Changes:
- Dimension formatter parameter now deprecated in favor of value_format.
- Types of Chart and Table Element data now dependent on selected interface.
- DFrame conversion interface deprecated in favor of Columns pandas interface.
Version 1.3.2
Version 1.3.1
Minor bugfix release to address a number of issues that weren't caught in time for the 1.3.0 release with the addition of a small number of features:
Features:
Introduced new Spread element to plot errors and confidence intervals (30d3184).
ErrorBars and Spread elements now allow most Chart constructor types (f013deb).
Bug fixes:
Fixed unicode handling for dimension labels (061e9af).
Handling of invalid dimension label characters in widgets (a101b9e).
Fixed setting of fps option for MPLRenderer video output (c61b9df).
Fix for multiple and animated colorbars (5e1e4b5).
Fix to Chart slices starting or ending at zero (edd0039).
Version 1.3.0
The third minor version release of HoloViews.
Since the last release we closed over 34 issues and have made 380 commits mostly focused on fixing bugs, cleaning up the API and working extensively on the plotting and rendering system to ensure HoloViews is fully backend independent.
We'd again like to thank our growing user base for all their input, which has helped us in making the API more understandable and fixing a number of important bugs.
Highlights/Features:
- Allowed display of data structures which do not match the
recommended nesting hierarchy (67b28f3, fbd89c3). - Dimensions now sanitized for
.select
,.sample
and
.reduce
calls (6685633, 00b5a66). - Added
holoviews.ipython.display
function to render (and display)
any HoloViews object, useful for IPython interact widgets (0fa49cd). - Table column widths now adapt to cell contents (be90a54).
- Defaulting to matplotlib ticking behavior (62e1e58).
- Allowed specifying fixed figure sizes to matplotlib via
fig_inches
tuples using (width, None) and (None, height) formats
(632facd). - Constructors of
Chart
,Path
andHistogram
classes now support
additional data formats (2297375). ScrubberWidget
now supports all figure formats (c317db4).- Allowed customizing legend positions on
Bars
Elements (5a12882). - Support for multiple colorbars on one axis (aac7b92).
.reindex
onNdElement
types now support converting between
key and value dimensions allowing more powerful conversions. (03ac3ce)- Improved support for casting between
Element
types (cdaab4e, b2ad91b,
ce7fe2d, 865b4d5). - The
%%opts
cell magic may now be used multiple times in the same
cell (2a77fd0) - Matplotlib rcParams can now be set correctly per figure (751210f).
- Improved
OptionTree
repr which now works with eval (2f824c1). - Refactor of rendering system and IPython extension to allow easy
swapping of plotting backend (#141) - Large plotting optimization by computing tight
bbox_inches
once
(e34e339). - Widgets now cache frames in the DOM, avoiding flickering in some
browsers and make use of jinja2 template inheritance. (fc7dd2b) - Calling a HoloViews object without arguments now clears any
associated custom styles. (9e8c343)
API Changes
- Renamed key_dimensions and value_dimensions to kdims and vdims
respectively, while providing backward compatibility for passing
and accessing the long names (8feb7d2). - Combined x/y/zticker plot options into x/y/zticks parameters which
now accept an explicit number of ticks, an explicit list of tick
positions (and labels), and a matplotlib tick locator. - Changed backend options in %output magic,
nbagg
andd3
are
now modes of the matplotlib backend and can be selected with
backend='matplotlib:nbagg'
andbackend='matplotlib:mpld3'
respectively. The 'd3' and 'nbagg' options remain supported but will
be deprecated in future. - Customizations should no longer be applied directly to
Store.options
;
theStore.options(backend='matplotlib')
object should be
customized instead. There is no longer a need to call the
deprecatedStore.register_plots
method.