hvplot
hvplot copied to clipboard
Error raised while plotting the points `geoda.groceries` dataset from `geodatasets`
An error is raised while plotting the points geoda.groceries dataset from geodatasets. Not sure why, I think it has something to do with the projection in which this dataset is.
import geodatasets
import geopandas as gpd
path = geodatasets.get_path("geoda.groceries")
groceries = gpd.read_file(path)
groceries.hvplot(geo=True)
Traceback:
WARNING:param.project_points: While projecting a Points element from a PlateCarree coordinate reference system (crs) to a Mercator projection none of the projected paths were contained within the bounds specified by the projection. Ensure you have specified the correct coordinate system for your data.
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
File [~/dev/hvplot/.venv/lib/python3.9/site-packages/IPython/core/formatters.py:974](http://localhost:8888/lab/tree/user_guide/~/dev/hvplot/.venv/lib/python3.9/site-packages/IPython/core/formatters.py#line=973), 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 [~/dev/hvplot/.venv/lib/python3.9/site-packages/holoviews/core/dimension.py:1286](http://localhost:8888/lab/tree/user_guide/~/dev/hvplot/.venv/lib/python3.9/site-packages/holoviews/core/dimension.py#line=1285), in Dimensioned._repr_mimebundle_(self, include, exclude)
1279 def _repr_mimebundle_(self, include=None, exclude=None):
1280 """
1281 Resolves the class hierarchy for the class rendering the
1282 object using any display hooks registered on Store.display
1283 hooks. The output of all registered display_hooks is then
1284 combined and returned.
1285 """
-> 1286 return Store.render(self)
File [~/dev/hvplot/.venv/lib/python3.9/site-packages/holoviews/core/options.py:1428](http://localhost:8888/lab/tree/user_guide/~/dev/hvplot/.venv/lib/python3.9/site-packages/holoviews/core/options.py#line=1427), in Store.render(cls, obj)
1426 data, metadata = {}, {}
1427 for hook in hooks:
-> 1428 ret = hook(obj)
1429 if ret is None:
1430 continue
File [~/dev/hvplot/.venv/lib/python3.9/site-packages/holoviews/ipython/display_hooks.py:287](http://localhost:8888/lab/tree/user_guide/~/dev/hvplot/.venv/lib/python3.9/site-packages/holoviews/ipython/display_hooks.py#line=286), in pprint_display(obj)
285 if not ip.display_formatter.formatters['text[/plain](http://localhost:8888/plain)'].pprint:
286 return None
--> 287 return display(obj, raw_output=True)
File [~/dev/hvplot/.venv/lib/python3.9/site-packages/holoviews/ipython/display_hooks.py:255](http://localhost:8888/lab/tree/user_guide/~/dev/hvplot/.venv/lib/python3.9/site-packages/holoviews/ipython/display_hooks.py#line=254), 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 [~/dev/hvplot/.venv/lib/python3.9/site-packages/holoviews/ipython/display_hooks.py:149](http://localhost:8888/lab/tree/user_guide/~/dev/hvplot/.venv/lib/python3.9/site-packages/holoviews/ipython/display_hooks.py#line=148), 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 [~/dev/hvplot/.venv/lib/python3.9/site-packages/holoviews/ipython/display_hooks.py:195](http://localhost:8888/lab/tree/user_guide/~/dev/hvplot/.venv/lib/python3.9/site-packages/holoviews/ipython/display_hooks.py#line=194), in element_display(element, max_frames)
192 if type(element) not in Store.registry[backend]:
193 return None
--> 195 return render(element)
File [~/dev/hvplot/.venv/lib/python3.9/site-packages/holoviews/ipython/display_hooks.py:76](http://localhost:8888/lab/tree/user_guide/~/dev/hvplot/.venv/lib/python3.9/site-packages/holoviews/ipython/display_hooks.py#line=75), in render(obj, **kwargs)
73 if renderer.fig == 'pdf':
74 renderer = renderer.instance(fig='png')
---> 76 return renderer.components(obj, **kwargs)
File [~/dev/hvplot/.venv/lib/python3.9/site-packages/holoviews/plotting/renderer.py:396](http://localhost:8888/lab/tree/user_guide/~/dev/hvplot/.venv/lib/python3.9/site-packages/holoviews/plotting/renderer.py#line=395), in Renderer.components(self, obj, fmt, comm, **kwargs)
393 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 [~/dev/hvplot/.venv/lib/python3.9/site-packages/holoviews/plotting/renderer.py:403](http://localhost:8888/lab/tree/user_guide/~/dev/hvplot/.venv/lib/python3.9/site-packages/holoviews/plotting/renderer.py#line=402), 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 [~/dev/hvplot/.venv/lib/python3.9/site-packages/panel/viewable.py:748](http://localhost:8888/lab/tree/user_guide/~/dev/hvplot/.venv/lib/python3.9/site-packages/panel/viewable.py#line=747), in Viewable._render_model(self, doc, comm)
746 if comm is None:
747 comm = state._comm_manager.get_server_comm()
--> 748 model = self.get_root(doc, comm)
750 if self._design and self._design.theme.bokeh_theme:
751 doc.theme = self._design.theme.bokeh_theme
File [~/dev/hvplot/.venv/lib/python3.9/site-packages/panel/layout/base.py:311](http://localhost:8888/lab/tree/user_guide/~/dev/hvplot/.venv/lib/python3.9/site-packages/panel/layout/base.py#line=310), in Panel.get_root(self, doc, comm, preprocess)
307 def get_root(
308 self, doc: Optional[Document] = None, comm: Optional[Comm] = None,
309 preprocess: bool = True
310 ) -> Model:
--> 311 root = super().get_root(doc, comm, preprocess)
312 # ALERT: Find a better way to handle this
313 if hasattr(root, 'styles') and 'overflow-x' in root.styles:
File [~/dev/hvplot/.venv/lib/python3.9/site-packages/panel/viewable.py:666](http://localhost:8888/lab/tree/user_guide/~/dev/hvplot/.venv/lib/python3.9/site-packages/panel/viewable.py#line=665), in Renderable.get_root(self, doc, comm, preprocess)
664 wrapper = self._design._wrapper(self)
665 if wrapper is self:
--> 666 root = self._get_model(doc, comm=comm)
667 if preprocess:
668 self._preprocess(root)
File [~/dev/hvplot/.venv/lib/python3.9/site-packages/panel/layout/base.py:177](http://localhost:8888/lab/tree/user_guide/~/dev/hvplot/.venv/lib/python3.9/site-packages/panel/layout/base.py#line=176), in Panel._get_model(self, doc, root, parent, comm)
175 root = root or model
176 self._models[root.ref['id']] = (model, parent)
--> 177 objects, _ = self._get_objects(model, [], doc, root, comm)
178 props = self._get_properties(doc)
179 props[self._property_mapping['objects']] = objects
File [~/dev/hvplot/.venv/lib/python3.9/site-packages/panel/layout/base.py:159](http://localhost:8888/lab/tree/user_guide/~/dev/hvplot/.venv/lib/python3.9/site-packages/panel/layout/base.py#line=158), in Panel._get_objects(self, model, old_objects, doc, root, comm)
157 else:
158 try:
--> 159 child = pane._get_model(doc, root, model, comm)
160 except RerenderError as e:
161 if e.layout is not None and e.layout is not self:
File [~/dev/hvplot/.venv/lib/python3.9/site-packages/panel/pane/holoviews.py:423](http://localhost:8888/lab/tree/user_guide/~/dev/hvplot/.venv/lib/python3.9/site-packages/panel/pane/holoviews.py#line=422), in HoloViews._get_model(self, doc, root, parent, comm)
421 plot = self.object
422 else:
--> 423 plot = self._render(doc, comm, root)
425 plot.pane = self
426 backend = plot.renderer.backend
File [~/dev/hvplot/.venv/lib/python3.9/site-packages/panel/pane/holoviews.py:518](http://localhost:8888/lab/tree/user_guide/~/dev/hvplot/.venv/lib/python3.9/site-packages/panel/pane/holoviews.py#line=517), in HoloViews._render(self, doc, comm, root)
515 if comm:
516 kwargs['comm'] = comm
--> 518 return renderer.get_plot(self.object, **kwargs)
File [~/dev/hvplot/.venv/lib/python3.9/site-packages/holoviews/plotting/bokeh/renderer.py:68](http://localhost:8888/lab/tree/user_guide/~/dev/hvplot/.venv/lib/python3.9/site-packages/holoviews/plotting/bokeh/renderer.py#line=67), 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 [~/dev/hvplot/.venv/lib/python3.9/site-packages/holoviews/plotting/renderer.py:240](http://localhost:8888/lab/tree/user_guide/~/dev/hvplot/.venv/lib/python3.9/site-packages/holoviews/plotting/renderer.py#line=239), in Renderer.get_plot(self_or_cls, obj, doc, renderer, comm, **kwargs)
237 defaults = [kd.default for kd in plot.dimensions]
238 init_key = tuple(v if d is None else d for v, d in
239 zip(plot.keys[0], defaults))
--> 240 plot.update(init_key)
241 else:
242 plot = obj
File [~/dev/hvplot/.venv/lib/python3.9/site-packages/holoviews/plotting/plot.py:955](http://localhost:8888/lab/tree/user_guide/~/dev/hvplot/.venv/lib/python3.9/site-packages/holoviews/plotting/plot.py#line=954), in DimensionedPlot.update(self, key)
953 def update(self, key):
954 if len(self) == 1 and key in (0, self.keys[0]) and not self.drawn:
--> 955 return self.initialize_plot()
956 item = self.__getitem__(key)
957 self.traverse(lambda x: setattr(x, '_updated', True))
File [~/dev/hvplot/.venv/lib/python3.9/site-packages/geoviews/plotting/bokeh/plot.py:108](http://localhost:8888/lab/tree/user_guide/~/dev/hvplot/.venv/lib/python3.9/site-packages/geoviews/plotting/bokeh/plot.py#line=107), in GeoPlot.initialize_plot(self, ranges, plot, plots, source)
106 def initialize_plot(self, ranges=None, plot=None, plots=None, source=None):
107 opts = {} if isinstance(self, HvOverlayPlot) else {'source': source}
--> 108 fig = super().initialize_plot(ranges, plot, plots, **opts)
109 if self.geographic and self.show_bounds and not self.overlaid:
110 from . import GeoShapePlot
File [~/dev/hvplot/.venv/lib/python3.9/site-packages/holoviews/plotting/bokeh/element.py:1891](http://localhost:8888/lab/tree/user_guide/~/dev/hvplot/.venv/lib/python3.9/site-packages/holoviews/plotting/bokeh/element.py#line=1890), in ElementPlot.initialize_plot(self, ranges, plot, plots, source)
1889 if not self.overlaid:
1890 self._update_plot(key, plot, style_element)
-> 1891 self._update_ranges(style_element, ranges)
1893 for cb in self.callbacks:
1894 cb.initialize()
File [~/dev/hvplot/.venv/lib/python3.9/site-packages/geoviews/plotting/bokeh/plot.py:87](http://localhost:8888/lab/tree/user_guide/~/dev/hvplot/.venv/lib/python3.9/site-packages/geoviews/plotting/bokeh/plot.py#line=86), in GeoPlot._update_ranges(self, element, ranges)
86 def _update_ranges(self, element, ranges):
---> 87 super()._update_ranges(element, ranges)
88 if not self.geographic:
89 return
File [~/dev/hvplot/.venv/lib/python3.9/site-packages/holoviews/plotting/bokeh/element.py:1048](http://localhost:8888/lab/tree/user_guide/~/dev/hvplot/.venv/lib/python3.9/site-packages/holoviews/plotting/bokeh/element.py#line=1047), in ElementPlot._update_ranges(self, element, ranges)
1045 y_range = self.handles['y_range']
1046 plot = self.handles['plot']
-> 1048 self._update_main_ranges(element, x_range, y_range, ranges)
1050 if self._subcoord_overlaid:
1051 return
File [~/dev/hvplot/.venv/lib/python3.9/site-packages/holoviews/plotting/bokeh/element.py:1190](http://localhost:8888/lab/tree/user_guide/~/dev/hvplot/.venv/lib/python3.9/site-packages/holoviews/plotting/bokeh/element.py#line=1189), in ElementPlot._update_main_ranges(self, element, x_range, y_range, ranges)
1188 if fixed_height:
1189 plot.frame_height = height
-> 1190 plot.frame_width = int(height[/aspect](http://localhost:8888/aspect))
1191 plot.width, plot.height = None, None
1192 elif fixed_width:
ValueError: cannot convert float NaN to integer