From 98acc9dfe3f4c9dc297d150132890ac94ae23253 Mon Sep 17 00:00:00 2001 From: Philipp Rudiger Date: Fri, 16 Feb 2018 14:29:14 +0000 Subject: [PATCH] Miscellaneous minor bug fixes (#2346) --- holoviews/core/traversal.py | 2 +- holoviews/element/stats.py | 2 +- holoviews/element/util.py | 2 ++ holoviews/plotting/bokeh/callbacks.py | 3 ++- holoviews/plotting/bokeh/stats.py | 2 ++ 5 files changed, 8 insertions(+), 3 deletions(-) diff --git a/holoviews/core/traversal.py b/holoviews/core/traversal.py index e320601d17..3b97e2410d 100644 --- a/holoviews/core/traversal.py +++ b/holoviews/core/traversal.py @@ -72,7 +72,7 @@ def unique_dimkeys(obj, default_dim='Frame'): for d, k in zip(dims, key): dim_keys[d.name] = k if dim_keys: - keys = [tuple(dim_keys[dim.name] for dim in dimensions)] + keys = [tuple(dim_keys.get(dim.name) for dim in dimensions)] else: keys = [] return merge_dimensions(dim_groups), keys diff --git a/holoviews/element/stats.py b/holoviews/element/stats.py index e397d864e9..ade37bf88c 100644 --- a/holoviews/element/stats.py +++ b/holoviews/element/stats.py @@ -75,7 +75,7 @@ def dframe(self, dimensions=None): dimensions = [self.get_dimension(d, strict=True) for d in dimensions if d in dimensions.kdims] else: - dimensions = dimensions.kdims + dimensions = self.kdims return self.interface.dframe(self, dimensions) diff --git a/holoviews/element/util.py b/holoviews/element/util.py index c18c7531d0..7e67dc831b 100644 --- a/holoviews/element/util.py +++ b/holoviews/element/util.py @@ -229,6 +229,8 @@ def circular_layout(nodes): Lay out nodes on a circle and add node index. """ N = len(nodes) + if not N: + return ([], [], []) circ = np.pi/N*np.arange(N)*2 x = np.cos(circ) y = np.sin(circ) diff --git a/holoviews/plotting/bokeh/callbacks.py b/holoviews/plotting/bokeh/callbacks.py index e3a6b317f1..f115e51175 100644 --- a/holoviews/plotting/bokeh/callbacks.py +++ b/holoviews/plotting/bokeh/callbacks.py @@ -129,7 +129,8 @@ def _init_plot_handles(self): requested[h] = handles[h] elif h in self.extra_models: print("Warning %s could not find the %s model. " - "The corresponding stream may not work.") + "The corresponding stream may not work." + % (type(self).__name__, h)) self.handle_ids.update(self._get_stream_handle_ids(requested)) return requested diff --git a/holoviews/plotting/bokeh/stats.py b/holoviews/plotting/bokeh/stats.py index 736bd4a42b..d918750de2 100644 --- a/holoviews/plotting/bokeh/stats.py +++ b/holoviews/plotting/bokeh/stats.py @@ -167,6 +167,7 @@ def get_data(self, element, ranges, style): # Compute statistics vals = g.dimension_values(g.vdims[0]) + vals = vals[np.isfinite(vals)] if len(vals): q1, q2, q3 = (np.percentile(vals, q=q) for q in range(25, 100, 25)) @@ -322,6 +323,7 @@ def _kde_data(self, el, key, **kwargs): bars, segments, scatter = defaultdict(list), defaultdict(list), {} values = el.dimension_values(vdim) + values = values[np.isfinite(values)] if self.inner == 'quartiles': for stat_fn in self._stat_fns: stat = stat_fn(values)