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:
- Interactive Streams API (PR #832, #838, #842, #844, #845, #846,
#858, #860, #889, #904, #913, #933, #962, #964, #1094, #1256, #1274,
#1297, #1301, #1303). - Dynamic Callable API (PR #951, #1103, #1029, #968, #935, #1063,
#1260). - Simpler and more powerful DynamicMap (PR #1238, #1240, #1243, #1257,
#1267, #1302, #1304, #1305). - Fully general support for Bokeh events (PR #892, #1148, #1235).
- Datashader operations (PR #894, #907, #963, #1125, #1281, #1306).
- Support for Bokeh apps and Bokeh Server (PR #959, #1283).
- Working with renderers interactively outside the notebook (PR
#1214). - Support for Matplotlib 2.0 (PR #867, #868, #1131, #1264, #1266).
- Support for Bokeh 0.12.2, 0.12.3, 0.12.4, and 0.12.5 (PR #899, #900,
#1007, #1036, #1116). - Many new features for the Bokeh backend: widgets editable (PR
#1247), selection colors and interactive legends (PR #1220), GridSpace axes (PR #1150),
categorical axes and colormapping (PR #1089, #1137), computing plot
size (PR #1140), GridSpaces inside Layouts (PR #1104), Layout/Grid titles (PR #1017), histogram with live colormapping (PR #928), colorbars (PR #861), finalize_hooks (PR
#1040), labelled and show_frame options (PR #863, #1013), styling
hover glyphs (PR #1286), hiding legends on BarPlot (PR #837),
VectorField plot (PR #1196), Histograms now have same color cycle as
mpl (#1008). - Implemented convenience redim methods to easily set dimension ranges,
values etc. (PR #1302) - Made methods on and operations applied to DynamicMap lazy (#422, #588,
#1188, #1240, #1227) - Improved documentation (PR #936, #1070, #1242, #1273, #1280).
- Improved error handling (PR #906, #932, #939, #949, #1011, #1290,
#1262, #1295), including re-enabling option system keyword
validation (PR #1277). - Improved testing (PR #834, #871, #881, #941, #1117, #1153, #1171,
#1207, #1246, #1259, #1287).
Other new features and improvements:
- Operations for timeseries (PR #1172), downsample_columns (PR #903),
interpolate_curve (PR #1097), and stacked area (PR #1193). - Dataset types can be declared as empty by passing an empty list
(PR #1355) - Plot or style options for Curve interpolation (PR #1097),
transposing layouts (PR #1100), multiple paths (PR #997), and norm
for ColorbarPlot (PR #957). - Improved options inheritance for more intuitive behavior (PR #1275).
- Image interface providing similar functionality for Image and
non-Image types (making GridImage obsolete) (PR #994). - dask data interface (PR #974, #991).
- xarray aggregate/reduce (PR #1192).
- Indicate color clipping and control clipping colors (PR #686).
- Better datetime handling (PR #1098).
- Gridmatrix diagonal types (PR #1194, #1027).
- log option for histogram operation (PR #929).
- Perceptually uniform fire colormap (PR #943).
- Support for adjoining overlays (PR #1213).
- coloring weighted average in SideHistogram (PR #1087).
- HeatMap allows displaying multiple values on hover (PR #849).
- Allow casting Image to QuadMesh (PR #1282).
- Unused columns are now preserved in gridded groupby (PR #1154).
- Optimizations and fixes for constructing Layout/Overlay types (PR #952).
- DynamicMap fixes (PR #848, #883, #911, #922, #923, #927, #944,
#1170, #1227, #1270). - Bokeh-backend fixes including handling of empty frames (#835), faster updates (#905),
hover tool fixes (#1004, #1178, #1092, #1250) and many more (PR #537, #851, #852,
#854, #880, #896, #898, #921, #934, #1004, #1010, #1014,
#1030, #1069, #1072, #1085, #1157, #1086, #1169,
#1195, #1263). - Matplotlib-backend fixes and improvements (PR #864, #873, #954,
#1037, #1068, #1128, #1132, #1143, #1163, #1209, #1211, #1225,
#1269, #1300). - Many other small improvements and fixes (PR #830, #840, #841, #850,
#855, #856, #859, #865, #893, #897, #902, #912, #916, #925, #938,
#940, #948, #950, #955, #956, #967, #970, #972, #973, #981, #992,
#998, #1009, #1012, #1016, #1023, #1034, #1043, #1045, #1046, #1048,
#1050, #1051, #1054, #1060, #1062, #1074, #1082, #1084, #1088,
#1093, #1099, #1115, #1119, #1121, #1130, #1133, #1151, #1152,
#1155, #1156, #1158, #1162, #1164, #1174, #1175, #1180, #1187,
#1197, #1202, #1205, #1206, #1210, #1217, #1219, #1228, #1232,
#1241, #1244, #1245, #1249, #1254, #1255, #1271, #1276, #1278,
#1285, #1288, #1289).
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 matplotliblinestyle
alias dropped (PR #1203).mdims
argument of conversion interface renamed togroupby
(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.