From 5d0e7e60e99906f455620037285294ed3c59be60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20H=C3=B8xbro=20Hansen?= Date: Tue, 8 Aug 2023 14:59:21 +0200 Subject: [PATCH 1/2] Handle empty tag --- holoviews/plotting/bokeh/element.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/holoviews/plotting/bokeh/element.py b/holoviews/plotting/bokeh/element.py index 54661f0364..18625d4479 100644 --- a/holoviews/plotting/bokeh/element.py +++ b/holoviews/plotting/bokeh/element.py @@ -965,7 +965,7 @@ def _update_ranges(self, element, ranges): continue self._update_range( extra_y_range, b, t, factors, - extra_y_range.tags[1]['invert_yaxis'] if extra_y_range.tags else False, + self._get_tag(extra_y_range, 'invert_yaxis'), self._shared.get(extra_y_range.name, False), log, streaming ) @@ -1111,10 +1111,16 @@ def _update_main_ranges(self, element, x_range, y_range, ranges): self._update_range(x_range, l, r, xfactors, self.invert_xaxis, self._shared['x-main-range'], self.logx, streaming) if not self.drawn or yupdate: - self._update_range(y_range, b, t, yfactors, - y_range.tags[1]['invert_yaxis'] if y_range.tags else False, - self._shared['y-main-range'], self.logy, streaming) + self._update_range( + y_range, b, t, yfactors, self._get_tag(y_range, 'invert_yaxis'), + self._shared['y-main-range'], self.logy, streaming + ) + def _get_tag(self, element, tag_name): + for tag in element.tags: + if isinstance(tag, dict) and tag_name in tag: + return tag[tag_name] + return False def _update_range(self, axis_range, low, high, factors, invert, shared, log, streaming=False): if isinstance(axis_range, FactorRange): From b48e2cc8def59a6ffc5e8daa09d857d379532423 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20H=C3=B8xbro=20Hansen?= Date: Wed, 16 Aug 2023 12:35:08 +0200 Subject: [PATCH 2/2] Add rename element to model --- holoviews/plotting/bokeh/element.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/holoviews/plotting/bokeh/element.py b/holoviews/plotting/bokeh/element.py index 18625d4479..bebc659032 100644 --- a/holoviews/plotting/bokeh/element.py +++ b/holoviews/plotting/bokeh/element.py @@ -1116,8 +1116,16 @@ def _update_main_ranges(self, element, x_range, y_range, ranges): self._shared['y-main-range'], self.logy, streaming ) - def _get_tag(self, element, tag_name): - for tag in element.tags: + def _get_tag(self, model, tag_name): + """Get a tag from a Bokeh model + + Args: + model (Model): Bokeh model + tag_name (str): Name of tag to get + Returns: + tag_value: Value of tag or False if not found + """ + for tag in model.tags: if isinstance(tag, dict) and tag_name in tag: return tag[tag_name] return False