Skip to content

kdeplot not working when fill=True #289

@jose-vines-toteat

Description

@jose-vines-toteat

Hi, I tried reproducing your example in the documentation, and I get this error when using kdeplot with fill=True

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
Cell In[104], line 3
      1 # ax = gplt.polyplot(gdf_cl[gdf_cl.Region == 'Región Metropolitana de Santiago'], projection=gcrs.WebMercator(), zorder=1)
      2 ax = gplt.webmap(gdf_cl[gdf_cl.Region == 'Región Metropolitana de Santiago'], projection=gcrs.WebMercator(), zorder=1)
----> 3 gplt.kdeplot(view[['geometry', 'sale']], cmap='viridis', ax=ax, thresh=.05, legend=True, fill=True)

File ~/mambaforge/envs/ds/lib/python3.9/site-packages/geoplot/geoplot.py:1320, in kdeplot(df, projection, extent, figsize, ax, clip, **kwargs)
   1315         return ax
   1317 plot = KDEPlot(
   1318     df, projection=projection, extent=extent, figsize=figsize, ax=ax, clip=clip, **kwargs
   1319 )
-> 1320 return plot.draw()

File ~/mambaforge/envs/ds/lib/python3.9/site-packages/geoplot/geoplot.py:1304, in kdeplot.<locals>.KDEPlot.draw(self)
   1301     return ax
   1303 if self.projection:
-> 1304     sns.kdeplot(
   1305         x=pd.Series([p.x for p in self.df.geometry]),
   1306         y=pd.Series([p.y for p in self.df.geometry]),
   1307         transform=ccrs.PlateCarree(), ax=ax, **self.kwargs
   1308     )
   1309 else:
   1310     sns.kdeplot(
   1311         x=pd.Series([p.x for p in self.df.geometry]),
   1312         y=pd.Series([p.y for p in self.df.geometry]),
   1313         ax=ax, **self.kwargs
   1314     )

File ~/mambaforge/envs/ds/lib/python3.9/site-packages/seaborn/distributions.py:1682, in kdeplot(data, x, y, hue, weights, palette, hue_order, hue_norm, color, fill, multiple, common_norm, common_grid, cumulative, bw_method, bw_adjust, warn_singular, log_scale, levels, thresh, gridsize, cut, clip, legend, cbar, cbar_ax, cbar_kws, ax, **kwargs)
   1679 p._attach(ax, allowed_types=["numeric", "datetime"], log_scale=log_scale)
   1681 method = ax.fill_between if fill else ax.plot
-> 1682 color = _default_color(method, hue, color, kwargs)
   1684 if not p.has_xy_data:
   1685     return ax

File ~/mambaforge/envs/ds/lib/python3.9/site-packages/seaborn/utils.py:159, in _default_color(method, hue, color, kws, saturation)
    156 elif method.__name__ == "fill_between":
    158     kws = _normalize_kwargs(kws, mpl.collections.PolyCollection)
--> 159     scout = method([], [], **kws)
    160     facecolor = scout.get_facecolor()
    161     color = to_rgb(facecolor[0])

File ~/mambaforge/envs/ds/lib/python3.9/site-packages/matplotlib/__init__.py:1465, in _preprocess_data.<locals>.inner(ax, data, *args, **kwargs)
   1462 @functools.wraps(func)
   1463 def inner(ax, *args, data=None, **kwargs):
   1464     if data is None:
-> 1465         return func(ax, *map(sanitize_sequence, args), **kwargs)
   1467     bound = new_sig.bind(ax, *args, **kwargs)
   1468     auto_label = (bound.arguments.get(label_namer)
   1469                   or bound.kwargs.get(label_namer))

File ~/mambaforge/envs/ds/lib/python3.9/site-packages/matplotlib/axes/_axes.py:5509, in Axes.fill_between(self, x, y1, y2, where, interpolate, step, **kwargs)
   5507 def fill_between(self, x, y1, y2=0, where=None, interpolate=False,
   5508                  step=None, **kwargs):
-> 5509     return self._fill_between_x_or_y(
   5510         "x", x, y1, y2,
   5511         where=where, interpolate=interpolate, step=step, **kwargs)

File ~/mambaforge/envs/ds/lib/python3.9/site-packages/matplotlib/axes/_axes.py:5500, in Axes._fill_between_x_or_y(self, ind_dir, ind, dep1, dep2, where, interpolate, step, **kwargs)
   5498 up_x = up_y = True
   5499 if "transform" in kwargs:
-> 5500     up_x, up_y = kwargs["transform"].contains_branch_seperately(self.transData)
   5501 self.update_datalim(pts, updatex=up_x, updatey=up_y)
   5503 self.add_collection(collection, autolim=False)

AttributeError: 'PlateCarree' object has no attribute 'contains_branch_seperately'

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions