Releases: holoviz/holoviews
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.
Version 1.2.0
The second minor version release of HoloViews.
Highlights/Features:
- Added new
ErrorBars
Element (f2b276b) - Added
Empty
pseudo-Element to define empty placeholders in
Layouts (35bac9f) - Added support for changing font sizes easily (0f54bea)
- Support for holoviews.rc file (79076c8)
- Many major speed optimizations for working with and plotting
HoloViews data structures (fe87b4c, 7578c51, 5876fe6, 8863333) - Support for
GridSpace
with inner axes (93295c8) - New
aspect_weight
andtight
Layout plot options for more
customizability of Layout arrangements (4b1f03d, e6a76b7) - Added
bgcolor
plot option to easily set axis background color
(92eb95c) - Improved widget layout (f51af02)
- New
OutputMagic
css option to style html output (9d42dc2) - Experimental support for PDF output (1e8a59b)
- Added support for 3D interactivity with nbagg (781bc25)
- Added ability to support deprecated plot options in %%opts magic.
- Added
DrawPlot
simplifying the implementation of custom plots
(38e9d44)
API changes:
Path
andHistogram
support new constructors (7138ef4, 03b5d38)- New depth argument on the relabel method (f89b89f)
- Interface to Pandas improved (1a7cd3d)
- Removed
xlim
,ylim
andzlim
to eliminate redundancy. - Renaming of various plot and style options including:
figure_*
tofig_*
vertical_spacing
andhorizontal_spacing
tovspace
andhspace
respectively- Deprecation of confusing
origin
style option on RasterPlot
Overlay.__getitem__
no longer supports integer indexing (useget
method instead)
Important bug fixes:
- Important fixes to inheritance in the options system (d34a931, 71c1f3a)
- Fixes to the select method (df839be)
- Fixes to normalization system (c3ef40b)
- Fixes to
Raster
andImage
extents,__getitem__
and sampling. - Fixed bug with disappearing adjoined plots (2360972)
- Fixed plot ordering of overlaid elements across a
HoloMap
(c4f1685)
Version 1.1.0
The first minor version release of HoloViews.
Highlights:
- Support for nbagg as a backend (09eab4f)
- New .hvz file format for saving HoloViews objects (bfd5f7a)
- New Polygon element type (d1ec8ec)
- Greatly improved Unicode support throughout, including support for unicode characters in Python 3 attribute names (609a845)
- Regular SelectionWidget now supports live rendering (eb5bf8b)
- Supports a list of objects in Layout and Overlay constructors (5ba1866)
- Polar projections now supported (3801b76)
API changes (not backward compatible):