---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
File /venv/lib/python3.10/site-packages/IPython/core/formatters.py:974, in MimeBundleFormatter.__call__(self, obj, include, exclude)
971 method = get_real_method(obj, self.print_method)
973 if method is not None:
--> 974 return method(include=include, exclude=exclude)
975 return None
976 else:
File /venv/lib/python3.10/site-packages/holoviews/core/dimension.py:1277, in Dimensioned._repr_mimebundle_(self, include, exclude)
1270 def _repr_mimebundle_(self, include=None, exclude=None):
1271 """
1272 Resolves the class hierarchy for the class rendering the
1273 object using any display hooks registered on Store.display
1274 hooks. The output of all registered display_hooks is then
1275 combined and returned.
1276 """
-> 1277 return Store.render(self)
File /venv/lib/python3.10/site-packages/holoviews/core/options.py:1423, in Store.render(cls, obj)
1421 data, metadata = {}, {}
1422 for hook in hooks:
-> 1423 ret = hook(obj)
1424 if ret is None:
1425 continue
File /venv/lib/python3.10/site-packages/holoviews/ipython/display_hooks.py:287, in pprint_display(obj)
285 if not ip.display_formatter.formatters['text/plain'].pprint:
286 return None
--> 287 return display(obj, raw_output=True)
File /venv/lib/python3.10/site-packages/holoviews/ipython/display_hooks.py:255, in display(obj, raw_output, **kwargs)
253 elif isinstance(obj, (CompositeOverlay, ViewableElement)):
254 with option_state(obj):
--> 255 output = element_display(obj)
256 elif isinstance(obj, (Layout, NdLayout, AdjointLayout)):
257 with option_state(obj):
File /venv/lib/python3.10/site-packages/holoviews/ipython/display_hooks.py:149, in display_hook.<locals>.wrapped(element)
147 try:
148 max_frames = OutputSettings.options['max_frames']
--> 149 mimebundle = fn(element, max_frames=max_frames)
150 if mimebundle is None:
151 return {}, {}
File /venv/lib/python3.10/site-packages/holoviews/ipython/display_hooks.py:195, in element_display(element, max_frames)
192 if type(element) not in Store.registry[backend]:
193 return None
--> 195 return render(element)
File /venv/lib/python3.10/site-packages/holoviews/ipython/display_hooks.py:76, in render(obj, **kwargs)
73 if renderer.fig == 'pdf':
74 renderer = renderer.instance(fig='png')
---> 76 return renderer.components(obj, **kwargs)
File /venv/lib/python3.10/site-packages/holoviews/plotting/renderer.py:396, in Renderer.components(self, obj, fmt, comm, **kwargs)
394 embed = (not (dynamic or streams or self.widget_mode == 'live') or config.embed)
395 if embed or config.comms == 'default':
--> 396 return self._render_panel(plot, embed, comm)
397 return self._render_ipywidget(plot)
File /venv/lib/python3.10/site-packages/holoviews/plotting/renderer.py:403, in Renderer._render_panel(self, plot, embed, comm)
401 doc = Document()
402 with config.set(embed=embed):
--> 403 model = plot.layout._render_model(doc, comm)
404 if embed:
405 return render_model(model, comm)
File /venv/lib/python3.10/site-packages/panel/viewable.py:768, in Viewable._render_model(self, doc, comm)
766 if comm is None:
767 comm = state._comm_manager.get_server_comm()
--> 768 model = self.get_root(doc, comm)
770 if self._design and self._design.theme.bokeh_theme:
771 doc.theme = self._design.theme.bokeh_theme
File /venv/lib/python3.10/site-packages/panel/layout/base.py:329, in Panel.get_root(self, doc, comm, preprocess)
325 def get_root(
326 self, doc: Document | None = None, comm: Comm | None = None,
327 preprocess: bool = True
328 ) -> Model:
--> 329 root = super().get_root(doc, comm, preprocess)
330 # ALERT: Find a better way to handle this
331 if hasattr(root, 'styles') and 'overflow-x' in root.styles:
File /venv/lib/python3.10/site-packages/panel/viewable.py:698, in Renderable.get_root(self, doc, comm, preprocess)
696 wrapper = self._design._wrapper(self)
697 if wrapper is self:
--> 698 root = self._get_model(doc, comm=comm)
699 if preprocess:
700 self._preprocess(root)
File /venv/lib/python3.10/site-packages/panel/layout/base.py:313, in Panel._get_model(self, doc, root, parent, comm)
311 root = root or model
312 self._models[root.ref['id']] = (model, parent)
--> 313 objects, _ = self._get_objects(model, [], doc, root, comm)
314 props = self._get_properties(doc)
315 props[self._property_mapping['objects']] = objects
File /venv/lib/python3.10/site-packages/panel/layout/base.py:295, in Panel._get_objects(self, model, old_objects, doc, root, comm)
293 else:
294 try:
--> 295 child = pane._get_model(doc, root, model, comm)
296 except RerenderError as e:
297 if e.layout is not None and e.layout is not self:
File /venv/lib/python3.10/site-packages/panel/pane/holoviews.py:437, in HoloViews._get_model(self, doc, root, parent, comm)
435 plot = self.object
436 else:
--> 437 plot = self._render(doc, comm, root)
439 plot.pane = self
440 backend = plot.renderer.backend
File /venv/lib/python3.10/site-packages/panel/pane/holoviews.py:531, in HoloViews._render(self, doc, comm, root)
528 if comm:
529 kwargs['comm'] = comm
--> 531 return renderer.get_plot(self.object, **kwargs)
File /venv/lib/python3.10/site-packages/holoviews/plotting/bokeh/renderer.py:68, in BokehRenderer.get_plot(self_or_cls, obj, doc, renderer, **kwargs)
61 @bothmethod
62 def get_plot(self_or_cls, obj, doc=None, renderer=None, **kwargs):
63 """
64 Given a HoloViews Viewable return a corresponding plot instance.
65 Allows supplying a document attach the plot to, useful when
66 combining the bokeh model with another plot.
67 """
---> 68 plot = super().get_plot(obj, doc, renderer, **kwargs)
69 if plot.document is None:
70 plot.document = Document() if self_or_cls.notebook_context else curdoc()
File /venv/lib/python3.10/site-packages/holoviews/plotting/renderer.py:239, in Renderer.get_plot(self_or_cls, obj, doc, renderer, comm, **kwargs)
236 defaults = [kd.default for kd in plot.dimensions]
237 init_key = tuple(v if d is None else d for v, d in
238 zip(plot.keys[0], defaults))
--> 239 plot.update(init_key)
240 else:
241 plot = obj
File /venv/lib/python3.10/site-packages/holoviews/plotting/plot.py:956, in DimensionedPlot.update(self, key)
954 def update(self, key):
955 if len(self) == 1 and key in (0, self.keys[0]) and not self.drawn:
--> 956 return self.initialize_plot()
957 item = self.__getitem__(key)
958 self.traverse(lambda x: setattr(x, '_updated', True))
File /venv/lib/python3.10/site-packages/geoviews/plotting/bokeh/plot.py:125, in GeoPlot.initialize_plot(self, ranges, plot, plots, source)
123 def initialize_plot(self, ranges=None, plot=None, plots=None, source=None):
124 opts = {} if isinstance(self, HvOverlayPlot) else {'source': source}
--> 125 fig = super().initialize_plot(ranges, plot, plots, **opts)
126 style_element = self.current_frame.last if self.batched else self.current_frame
127 el_ranges = match_spec(style_element, self.current_ranges) if self.current_ranges else {}
File /venv/lib/python3.10/site-packages/holoviews/plotting/bokeh/element.py:3438, in OverlayPlot.initialize_plot(self, ranges, plot, plots)
3436 if self.tabs:
3437 subplot.overlaid = False
-> 3438 child = subplot.initialize_plot(ranges, plot, plots)
3439 if isinstance(element, CompositeOverlay):
3440 # Ensure that all subplots are in the same state
3441 frame = element.get(key, None)
File /venv/lib/python3.10/site-packages/geoviews/plotting/bokeh/plot.py:125, in GeoPlot.initialize_plot(self, ranges, plot, plots, source)
123 def initialize_plot(self, ranges=None, plot=None, plots=None, source=None):
124 opts = {} if isinstance(self, HvOverlayPlot) else {'source': source}
--> 125 fig = super().initialize_plot(ranges, plot, plots, **opts)
126 style_element = self.current_frame.last if self.batched else self.current_frame
127 el_ranges = match_spec(style_element, self.current_ranges) if self.current_ranges else {}
File /venv/lib/python3.10/site-packages/holoviews/plotting/bokeh/element.py:3438, in OverlayPlot.initialize_plot(self, ranges, plot, plots)
3436 if self.tabs:
3437 subplot.overlaid = False
-> 3438 child = subplot.initialize_plot(ranges, plot, plots)
3439 if isinstance(element, CompositeOverlay):
3440 # Ensure that all subplots are in the same state
3441 frame = element.get(key, None)
File /venv/lib/python3.10/site-packages/geoviews/plotting/bokeh/plot.py:125, in GeoPlot.initialize_plot(self, ranges, plot, plots, source)
123 def initialize_plot(self, ranges=None, plot=None, plots=None, source=None):
124 opts = {} if isinstance(self, HvOverlayPlot) else {'source': source}
--> 125 fig = super().initialize_plot(ranges, plot, plots, **opts)
126 style_element = self.current_frame.last if self.batched else self.current_frame
127 el_ranges = match_spec(style_element, self.current_ranges) if self.current_ranges else {}
File /venv/lib/python3.10/site-packages/holoviews/plotting/bokeh/element.py:2194, in ElementPlot.initialize_plot(self, ranges, plot, plots, source)
2192 if self.autorange:
2193 self._setup_autorange()
-> 2194 self._init_glyphs(plot, element, ranges, source)
2195 if not self.overlaid:
2196 self._update_plot(key, plot, style_element)
File /venv/lib/python3.10/site-packages/holoviews/plotting/bokeh/element.py:2116, in ElementPlot._init_glyphs(self, plot, element, ranges, source)
2113 if isinstance(renderer, Renderer):
2114 self.handles['glyph_renderer'] = renderer
-> 2116 self._postprocess_hover(renderer, source)
2118 if self.scalebar:
2119 self._draw_scalebar(plot=plot, renderer=renderer)
File /venv/lib/python3.10/site-packages/geoviews/plotting/bokeh/plot.py:153, in GeoPlot._postprocess_hover(self, renderer, source)
151 return
152 element = self.current_frame
--> 153 xdim, ydim = (dimension_sanitizer(kd.name) for kd in element.kdims)
154 formatters, tooltips = dict(hover.formatters), []
155 xhover = CustomJSHover(code=self._hover_code % 0)
ValueError: not enough values to unpack (expected 2, got 1)
:Overlay
.WMTS.I :WMTS [Longitude,Latitude]
.NdOverlay.I :NdOverlay [MMSI]
:Path [Longitude,Latitude]
.NdOverlay.II :NdOverlay [MMSI]
:Points [Longitude,Latitude]
ALL software version info
Software Version Info
Description of expected behavior and the observed behavior
I am plotting GeoPandas DataFrames composed of shapely Points and Lines on a map. If I plot 25 tracks, it will render, but if I plot 26 it throws a
ValueError: not enough values to unpack (expected 2, got 1)exception (although I assume this is just where it dies, and the issue is actually elsewhere)Complete, minimal, self-contained example code that reproduces the issue
Stack traceback and/or browser JavaScript console output
stack trace