Version 1.10.0
JupyterLab support:
- Full compatibility with JupyterLab when installing the jupyterlab_holoviews extension (#687)
New components:
-
Added
Sankey
element to plot directed flow graphs (#1123) -
Added
TriMesh
element and datashading operation to plot small and large irregular meshes (#2143) -
Added a
Chord
element to draw flow graphs between different nodes (#2137, #2143) -
Added
HexTiles
element to plot data binned into a hexagonal grid (#1141) -
Added
Labels
element to plot a large number of text labels at once (as data rather than as annotations) (#1837) -
Added
Div
element to add arbitrary HTML elements to a Bokeh layout (#2221) -
Added
PointDraw
,PolyDraw
,BoxEdit
, andPolyEdit
streams to allow drawing, editing, and annotating glyphs on a Bokeh plot, and syncing the resulting data to Python (#2268)
Features:
-
Added radial
HeatMap
option to allow plotting heatmaps with a cyclic x-axis (#2139) -
All elements now support declaring bin edges as well as centers allowing
Histogram
andQuadMesh
to become first classDataset
types (#547) -
When using widgets, their initial or default value can now be set via the
Dimension.default
parameter (#704) -
n-dimensional Dask arrays are now supported directly via the gridded dictionary data interface (#2305)
-
Added new Styling Plots and Colormaps user guides, including new functionality for working with colormaps.
Enhancements:
-
Improvements to exceptions (#1127)
-
Toolbar position and merging (via a new
merge_toolbar
option) can now be controlled for Layout and Grid plots (#1977) -
Bokeh themes can now be applied at the renderer level (#1861)
-
Dataframe and Series index can now be referenced by name when constructing an element (#2000)
-
Option-setting methods such as
.opts
,.options
andhv.opts
now allow specifying the backend instead of defaulting to the current backend (#1801) -
Handled API changes in streamz 0.3.0 in Buffer stream (#2409)
-
Supported GIF output on windows using new Matplotlib pillow animation support (#385)
-
Provided simplified interface to
rasterize
most element types using datashader (#2465) -
Bivariate
element now supportlevels
as a plot option (#2099) -
NdLayout
andGridSpace
now consistently support*
overlay operation (#2075) -
The Bokeh backend no longer has a hard dependency on Matplotlib (#829)
-
DynamicMap
may now return (Nd
)Overlay
with varying number of elements (#1388) -
In the notebook, deleting or re-executing a cell will now delete the plot and clean up any attached streams (#2141)
-
Added
color_levels
plot option to set discrete number of levels during colormapping (#2483)
Fixes:
-
Layout
andOverlay
objects no longer create lower-case nodes on attribute access (#2331) -
Dimension.step
now correctly respects both integer and float steps (#1707) -
Fixed timezone issues when using linked streams on datetime axes (#2459)
Changes affecting backwards compatibility:
-
Image elements now expect and validate regular sampling (#1869); for genuinely irregularly sampled data QuadMesh should be used.
-
Tabular elements will no longer default to use
ArrayInterface
, instead preferring pandas and dictionary data formats (#1236) -
Cycle
/Palette
values are no longer zipped together; instead they now cycle independently (#2333) -
The default color
Cycle
was expanded to provide more unique colors (#2483) -
Categorical colormapping was made consistent across backends, changing the behavior of categorical Matplotlib colormaps (#2483)
-
Disabled auto-indexable property of the Dataset baseclass, i.e. if a single column is supplied no integer index column is added automatically (#2522)