Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DO NOT MERGE] v1.12.6 Bugfix Release Changes #3981

Closed
wants to merge 52 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
9c5c4d5
Add cformatter (#3906)
ahuang11 Aug 16, 2019
e243197
Regrid doc elaboration for image data (#3911)
joelostblom Aug 17, 2019
700adf8
Add cformatter for bokeh (#3913)
ahuang11 Aug 17, 2019
df9b91b
Fontsize colorbar (#3914)
ahuang11 Aug 18, 2019
2e91f06
Add extend for plot (#3907)
ahuang11 Aug 18, 2019
19f4c30
Fixed Grid axis alignment (#3916)
philippjfr Aug 20, 2019
c525cbd
Add colorbar_opts to mpl (#3925)
ahuang11 Aug 23, 2019
3767304
[docs] Fix typos in docstring (#3939)
chbrandt Sep 1, 2019
8ea51d2
Ensure Bar chart sorts multi-category values correctly (#3953)
philippjfr Sep 12, 2019
b6037a6
Fixed bug in bokeh HoverTool lookup (#3952)
philippjfr Sep 12, 2019
0f4b41f
Allow plotting partially irregular QuadMesh (#3955)
philippjfr Sep 12, 2019
7925860
Fixed error message for Image data with wrong dimensionality (#3956)
philippjfr Sep 12, 2019
237de09
Fix Grid level alignment (#3957)
philippjfr Sep 12, 2019
4d793b8
Fixed typo
jbednar Sep 12, 2019
ffdb28e
Fix step interpolation rounding for datetime (#3958)
randomstuff Sep 13, 2019
67726a6
Various fixes for xarray 0.13 compatibility (#3973)
philippjfr Sep 20, 2019
3c815cc
Resolve dependent functions in Dynamic operations (#3975)
philippjfr Sep 20, 2019
f5ac179
Correctly resample colorcet colormaps (#3977)
philippjfr Sep 20, 2019
3f411fa
Ensure that empty Stream source elements get remapped (#3978)
philippjfr Sep 20, 2019
e7bfad9
Ensure Dynamic utility subscribes to dependent function (#3980)
philippjfr Sep 20, 2019
9d07baf
Updated cross-selector example to use Panel (#3960)
philippjfr Sep 22, 2019
957f737
Fix apply method on HoloMap (#3989)
philippjfr Sep 24, 2019
aa8504f
Fixed hover bug when plotting on inverted axis (#4010)
philippjfr Oct 1, 2019
371ff61
Ensure that DynamicMap.groupby links inputs (#4012)
philippjfr Oct 1, 2019
9768a57
Do not switch backend when loading backend via renderer (#4013)
philippjfr Oct 1, 2019
f0ad95f
Ensure Point/Scatter plot correctly categorizes data on inverted axes…
philippjfr Oct 1, 2019
a2aab57
Remove topics notebooks (#3984)
philippjfr Oct 2, 2019
49a450b
Made shared_axes option supported generally and toggle axiswise when …
philippjfr Oct 2, 2019
c50bdc2
Warn about mpl ArrowPlot fontsize style option (#4018)
philippjfr Oct 2, 2019
522afa0
Datashade fixes (#4021)
philippjfr Oct 3, 2019
0f1560d
Fix .to.distribution (#4023)
philippjfr Oct 3, 2019
b0bf2a8
Fix issues in .apply (#4025)
philippjfr Oct 4, 2019
d77c7db
d8b463a3a9287296d35fbc53565fcfb7ccc2cfdf
philippjfr Oct 4, 2019
a12ebc3
Fixes for user guides (#4027)
philippjfr Oct 4, 2019
a980ed5
Add support for fast QuadMesh rasterization (#4020)
philippjfr Oct 4, 2019
05ba737
Fixed flake
philippjfr Oct 4, 2019
8fa325f
Allow passing widget as dependency (#4028)
philippjfr Oct 4, 2019
7faf5ac
Fixed issues with matplotlib AxesImage legend (#4031)
philippjfr Oct 5, 2019
6185407
Handle unqualified Options objects (#4032)
philippjfr Oct 6, 2019
af84327
Fix Image element bounds check (#4035)
philippjfr Oct 7, 2019
9ca256e
Fixed compatibility with new bokeh 1.4 legend options (#4036)
philippjfr Oct 7, 2019
2867d4a
Raise error if data does not contain sufficient dimensions (#4040)
philippjfr Oct 8, 2019
6e8ad4d
Ensure that Stream triggering state is handled correctly on bokeh ser…
philippjfr Oct 8, 2019
982ee7c
Ensure that deprecated mpl rcparam options are not applied (#4042)
philippjfr Oct 8, 2019
2d73815
Added CHANGELOG
philippjfr Oct 8, 2019
ff96be4
Fix flake
philippjfr Oct 8, 2019
bd0f05c
Fixed flake
philippjfr Oct 8, 2019
9721cf5
Fixed bug in new bokeh legend option handling (#4043)
philippjfr Oct 8, 2019
9e0c6ca
Various fixes
philippjfr Oct 8, 2019
794d75e
Various fixes for datashader
philippjfr Oct 8, 2019
ff5ee86
Ensure bokeh legend fields are handled correctly (#4048)
philippjfr Oct 8, 2019
dfbeb6f
Correctly detect depends fn dependencies (#4049)
philippjfr Oct 8, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
79 changes: 79 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,82 @@
Version 1.12.6
==============

This is a minor release containing a large number of bug fixes thanks
to the contributions from @joelostblom, @ahuang11, @chbrandt,
@randomstuff, @jbednar and @philippjfr. It also contains a number of
enhancements. This is the last planned release in the 1.12.x series.

Enhancements:

- Ensured that shared_axes option on layout plots is respected across backends
([#3410](https://github.com/pyviz/holoviews/issues/3410))
- Allow plotting partially irregular (curvilinear) mesh
([#3952](https://github.com/pyviz/holoviews/issues/3952))
- Add support for dependent functions in dynamic operations
([#3975](https://github.com/pyviz/holoviews/issues/3975),
[#3980](https://github.com/pyviz/holoviews/issues/3980))
- Add support for fast QuadMesh rasterization with datashader >= 0.8
([#4020](https://github.com/pyviz/holoviews/issues/4020))
- Allow passing Panel widgets as operation parameter
([#4028](https://github.com/pyviz/holoviews/issues/4028))

Bug fixes:

- Fixed issue rounding datetimes in Curve step interpolation
([#3958](https://github.com/pyviz/holoviews/issues/3958))
- Fix resampling of categorical colorcet colormaps
([#3977](https://github.com/pyviz/holoviews/issues/3977))
- Ensure that changing the Stream source deletes the old source
([#3978](https://github.com/pyviz/holoviews/issues/3978))
- Ensure missing hover tool does not break plot
([#3981](https://github.com/pyviz/holoviews/issues/3981))
- Ensure .apply work correctly on HoloMaps
([#3989](https://github.com/pyviz/holoviews/issues/3989),
[#4025](https://github.com/pyviz/holoviews/issues/4025))
- Ensure Grid axes are always aligned in bokeh
([#3916](https://github.com/pyviz/holoviews/issues/3916))
- Fix hover tool on Image and Raster plots with inverted axis
([#4010](https://github.com/pyviz/holoviews/issues/4010))
- Ensure that DynamicMaps are still linked to streams after groupby
([#4012](https://github.com/pyviz/holoviews/issues/4012))
- Using hv.renderer no longer switches backends
([#4013](https://github.com/pyviz/holoviews/issues/4013))
- Ensure that Points/Scatter categorizes data correctly when axes are inverted
([#4014](https://github.com/pyviz/holoviews/issues/4014))
- Fixed error creating legend for matplotlib Image artists
([#4031](https://github.com/pyviz/holoviews/issues/4031))
- Ensure that unqualified Options objects are supported
([#4032](https://github.com/pyviz/holoviews/issues/4032))
- Fix bounds check when constructing Image with ImageInterface
([#4035](https://github.com/pyviz/holoviews/issues/4035))
- Ensure elements cannot be constructed with wrong number of columns
([#4040](https://github.com/pyviz/holoviews/issues/4040))
- Ensure streaming data works on bokeh server
([#4041](https://github.com/pyviz/holoviews/issues/4041))

Compatibility:

- Ensure HoloViews is fully compatible with xarray 0.13.0
([#3973](https://github.com/pyviz/holoviews/issues/3973))
- Ensure that deprecated matplotlib 3.1 rcparams do not warn
([#4042](https://github.com/pyviz/holoviews/issues/4042))
- Ensure compatibility with new legend options in bokeh 1.4.0
([#4036](https://github.com/pyviz/holoviews/issues/4036))

Version 1.12.5
==============

This is a very minor bug fix release ensuring compatibility with recent
releases of dask.

Compatibility:

- Ensure that HoloViews can be imported when dask is installed but
dask.dataframe is not.
([#3900](https://github.com/pyviz/holoviews/issues/3900))
- Fix for rendering Scatter3D with matplotlib 3.1
([#3898](https://github.com/pyviz/holoviews/issues/3898))

Version 1.12.4
==============

Expand Down
2 changes: 1 addition & 1 deletion doc/nbpublisher
82 changes: 82 additions & 0 deletions doc/releases.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,88 @@ Version 1.12
~~~~~~~~~~~~



Version 1.12.6
**************

This is a minor release containing a large number of bug fixes thanks
to the contributions from @joelostblom, @ahuang11, @chbrandt,
@randomstuff, @jbednar and @philippjfr. It also contains a number of
enhancements. This is the last planned release in the 1.12.x series.

Enhancements:

* Ensured that shared_axes option on layout plots is respected across backends
(`#3410 <https://github.com/pyviz/holoviews/issues/3410>`_)
* Allow plotting partially irregular (curvilinear) mesh
(`#3952 <https://github.com/pyviz/holoviews/issues/3952>`_)
* Add support for dependent functions in dynamic operations
(`#3975 <https://github.com/pyviz/holoviews/issues/3975>`_,
`#3980 <https://github.com/pyviz/holoviews/issues/3980>`_)
* Add support for fast QuadMesh rasterization with datashader >= 0.8
(`#4020 <https://github.com/pyviz/holoviews/issues/4020>`_)
* Allow passing Panel widgets as operation parameter
(`#4028 <https://github.com/pyviz/holoviews/issues/4028>`_)

Bug fixes:

* Fixed issue rounding datetimes in Curve step interpolation
(`#3958 <https://github.com/pyviz/holoviews/issues/3958>`_)
* Fix resampling of categorical colorcet colormaps
(`#3977 <https://github.com/pyviz/holoviews/issues/3977>`_)
* Ensure that changing the Stream source deletes the old source
(`#3978 <https://github.com/pyviz/holoviews/issues/3978>`_)
* Ensure missing hover tool does not break plot
(`#3981 <https://github.com/pyviz/holoviews/issues/3981>`_)
* Ensure .apply work correctly on HoloMaps
(`#3989 <https://github.com/pyviz/holoviews/issues/3989>`_,
`#4025 <https://github.com/pyviz/holoviews/issues/4025>`_)
* Ensure Grid axes are always aligned in bokeh
(`#3916 <https://github.com/pyviz/holoviews/issues/3916>`_)
* Fix hover tool on Image and Raster plots with inverted axis
(`#4010 <https://github.com/pyviz/holoviews/issues/4010>`_)
* Ensure that DynamicMaps are still linked to streams after groupby
(`#4012 <https://github.com/pyviz/holoviews/issues/4012>`_)
* Using hv.renderer no longer switches backends
(`#4013 <https://github.com/pyviz/holoviews/issues/4013>`_)
* Ensure that Points/Scatter categorizes data correctly when axes are inverted
(`#4014 <https://github.com/pyviz/holoviews/issues/4014>`_)
* Fixed error creating legend for matplotlib Image artists
(`#4031 <https://github.com/pyviz/holoviews/issues/4031>`_)
* Ensure that unqualified Options objects are supported
(`#4032 <https://github.com/pyviz/holoviews/issues/4032>`_)
* Fix bounds check when constructing Image with ImageInterface
(`#4035 <https://github.com/pyviz/holoviews/issues/4035>`_)
* Ensure elements cannot be constructed with wrong number of columns
(`#4040 <https://github.com/pyviz/holoviews/issues/#4040>`_)
* Ensure streaming data works on bokeh server
(`#4041 <https://github.com/pyviz/holoviews/issues/4041>`_)

Compatibility:

* Ensure HoloViews is fully compatible with xarray 0.13.0
(`#3973 <https://github.com/pyviz/holoviews/issues/3973>`_)
* Ensure that deprecated matplotlib 3.1 rcparams do not warn
(`#4042 <https://github.com/pyviz/holoviews/issues/4042>`_)
* Ensure compatibility with new legend options in bokeh 1.4.0
(`#4036 <https://github.com/pyviz/holoviews/issues/4036>`_)


Version 1.12.5
**************


This is a very minor bug fix release ensuring compatibility with recent
releases of dask.

Compatibility:

* Ensure that HoloViews can be imported when dask is installed but
dask.dataframe is not.
(`#3900 <https://github.com/pyviz/holoviews/issues/3900>`_)
* Fix for rendering Scatter3D with matplotlib 3.1
(`#3898 <https://github.com/pyviz/holoviews/issues/3898>`_)

Version 1.12.4
**************

Expand Down
64 changes: 18 additions & 46 deletions examples/gallery/apps/bokeh/crossfilter.py
Original file line number Diff line number Diff line change
@@ -1,28 +1,20 @@
"""
An example demonstrating how to put together a crossfilter app based
on the Auto MPG dataset. Demonstrates how to dynamically generate
bokeh plots using the HoloViews API and replacing the bokeh plot
based on the current widget selections.
An example demonstrating how to put together a cross-selector app based
on the Auto MPG dataset.
"""
import holoviews as hv
import panel as pn
import panel.widgets as pnw

from bokeh.layouts import row, widgetbox
from bokeh.models import Select
from bokeh.plotting import curdoc
from bokeh.sampledata.autompg import autompg

df = autompg.copy()

SIZES = list(range(6, 22, 3))
ORIGINS = ['North America', 'Europe', 'Asia']

# data cleanup
df.cyl = [str(x) for x in df.cyl]
df.origin = [ORIGINS[x-1] for x in df.origin]

df['year'] = [str(x) for x in df.yr]
del df['yr']

df['mfr'] = [x.split()[0] for x in df.name]
df.loc[df.mfr=='chevy', 'mfr'] = 'chevrolet'
df.loc[df.mfr=='chevroelt', 'mfr'] = 'chevrolet'
Expand All @@ -38,40 +30,20 @@
continuous = [x for x in columns if x not in discrete]
quantileable = [x for x in continuous if len(df[x].unique()) > 20]

renderer = hv.renderer('bokeh')
options = hv.Store.options(backend='bokeh')
options.Points = hv.Options('plot', width=800, height=600, size_index=None,)
options.Points = hv.Options('style', cmap='rainbow', line_color='black')

def create_figure():
label = "%s vs %s" % (x.value.title(), y.value.title())
kdims = [x.value, y.value]

opts, style = {}, {}
opts['color_index'] = color.value if color.value != 'None' else None
if size.value != 'None':
opts['size_index'] = size.value
opts['scaling_factor'] = (1./df[size.value].max())*200
points = hv.Points(df, kdims=kdims, label=label).opts(plot=opts, style=style)
return renderer.get_plot(points).state

def update(attr, old, new):
layout.children[1] = create_figure()

x = Select(title='X-Axis', value='mpg', options=quantileable)
x.on_change('value', update)

y = Select(title='Y-Axis', value='hp', options=quantileable)
y.on_change('value', update)

size = Select(title='Size', value='None', options=['None'] + quantileable)
size.on_change('value', update)
x = pnw.Select(name='X-Axis', value='mpg', options=quantileable)
y = pnw.Select(name='Y-Axis', value='hp', options=quantileable)
size = pnw.Select(name='Size', value='None', options=['None'] + quantileable)
color = pnw.Select(name='Color', value='None', options=['None'] + quantileable)

color = Select(title='Color', value='None', options=['None'] + quantileable)
color.on_change('value', update)
@pn.depends(x.param.value, y.param.value, color.param.value, size.param.value)
def create_figure(x, y, color, size):
opts = dict(cmap='rainbow', width=800, height=600, padding=0.1, line_color='black')
if color != 'None':
opts['color'] = color
if size != 'None':
opts['size'] = hv.dim(size).norm()*20
return hv.Points(df, [x, y], label="%s vs %s" % (x.title(), y.title())).opts(**opts)

controls = widgetbox([x, y, color, size], width=200)
layout = row(controls, create_figure())
widgets = pn.WidgetBox(x, y, color, size, width=200)

curdoc().add_root(layout)
curdoc().title = "Crossfilter"
pn.Row(widgets, create_figure).servable('Cross-selector')
Loading