hvplot icon indicating copy to clipboard operation
hvplot copied to clipboard

Error raised while plotting the points `geoda.groceries` dataset from `geodatasets`

Open maximlt opened this issue 1 year ago • 0 comments

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

maximlt avatar Apr 09 '24 20:04 maximlt