0.5.0
Major release with extensive optimizations and new plotting-library support, incorporating 9 months of development from 5 main contributors:
- Extensive optimizations for speed and memory usage, providing at least 5X improvements in speed (using the latest Numba versions) and 2X improvements in peak memory requirements. Outlined in #313 and #129.
- Added HoloViews support for flexible, composable, dynamic plotting, making it simple to switch between datashaded and non-datashaded versions of a Bokeh or Matplotlib plot.
- Added examples/environment.yml to make it easy to install dependencies needed to run the examples.
- Updated examples to use the now-recommended supported and fast Apache Parquet file format
- Added support for variable alpha for non-categorical aggregates, by specifying a single color rather than a list or colormap #345
- Added datashader.utils.lnglat_to_meters utility function for working in Web Mercator coordinates with Bokeh
- Added discussion of why you should be using uniform colormaps, and examples of using uniform colormaps from the new colorcet package
- Numerous bug fixes and updates, mostly in the examples and Bokeh extension
- Updated reference manual and documentation
New examples (.ipynb files in examples/):
- holoviews_datashader: Using HoloViews to create dynamic Datashader plots easily
- census-hv-dask: Using GeoViews for overlaying shape files, demonstrating gerrymandering by race
- nyc_taxi-paramnb: Using ParamNB to make a simple dashboard
- lidar: Visualizing point clouds
- solar: Visualizing solar radiation data
- Dynamic 1D histogram example (last code cell in examples/nyc_taxi-nongeo.ipynb)
- dashboard: Now includes opensky example (
python dashboard/dashboard.py -c dashboard/opensky.yml
)
Backwards compatibility:
- To improve consistency with Numpy and Python data structures and eliminate issues with an empty column and row at the edge of the aggregated raster, the provided xrange,yrange bounds are now treated as upper exclusive. Results will thus differ between 0.5.0 and earlier versions. See #259 for discussion.
Known issues:
- If you use Jupyter notebook 5.0 (earlier or later versions should be ok), you will need to override a setting that prevents visualizations from appearing, e.g.:
jupyter notebook --NotebookApp.iopub_data_rate_limit=100000000 census.ipynb &
- Legend and hover support is currently disabled for the dashboard, due to ongoing development of a simpler approach.