JupyterLab support:
- Full compatibility with JupyterLab when installing the jupyterlab_holoviews extension (#687)
New components:
-
Added
Sankeyelement to plot directed flow graphs (#1123) -
Added
TriMeshelement and datashading operation to plot small and large irregular meshes (#2143) -
Added a
Chordelement to draw flow graphs between different nodes (#2137, #2143) -
Added
HexTileselement to plot data binned into a hexagonal grid (#1141) -
Added
Labelselement to plot a large number of text labels at once (as data rather than as annotations) (#1837) -
Added
Divelement to add arbitrary HTML elements to a Bokeh layout (#2221) -
Added
PointDraw,PolyDraw,BoxEdit, andPolyEditstreams to allow drawing, editing, and annotating glyphs on a Bokeh plot, and syncing the resulting data to Python (#2268)
Features:
-
Added radial
HeatMapoption to allow plotting heatmaps with a cyclic x-axis (#2139) -
All elements now support declaring bin edges as well as centers allowing
HistogramandQuadMeshto become first classDatasettypes (#547) -
When using widgets, their initial or default value can now be set via the
Dimension.defaultparameter (#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_toolbaroption) 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,.optionsandhv.optsnow 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
rasterizemost element types using datashader (#2465) -
Bivariateelement now supportlevelsas a plot option (#2099) -
NdLayoutandGridSpacenow consistently support*overlay operation (#2075) -
The Bokeh backend no longer has a hard dependency on Matplotlib (#829)
-
DynamicMapmay now return (Nd)Overlaywith 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_levelsplot option to set discrete number of levels during colormapping (#2483)
Fixes:
-
LayoutandOverlayobjects no longer create lower-case nodes on attribute access (#2331) -
Dimension.stepnow 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/Palettevalues are no longer zipped together; instead they now cycle independently (#2333) -
The default color
Cyclewas 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)