From ab61de5f70be14cd2a9086cec17cdb3a73583e32 Mon Sep 17 00:00:00 2001 From: Marco Edward Gorelli Date: Wed, 20 Dec 2023 10:46:55 +0000 Subject: [PATCH] Support polars in hvplot.plot method (#1219) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * support polars in hvplot.plot method * Update hvplot/util.py Co-authored-by: Simon Høxbro Hansen --------- Co-authored-by: Simon Høxbro Hansen --- hvplot/plotting/__init__.py | 5 ++++- hvplot/util.py | 6 ++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/hvplot/plotting/__init__.py b/hvplot/plotting/__init__.py index bd617de54..68e6f9c53 100644 --- a/hvplot/plotting/__init__.py +++ b/hvplot/plotting/__init__.py @@ -1,5 +1,5 @@ import holoviews as hv -from ..util import with_hv_extension +from ..util import with_hv_extension, is_polars from .core import hvPlot, hvPlotTabular # noqa @@ -30,6 +30,9 @@ def plot(data, kind, **kwargs): if v is not None: no_none_kwargs[k] = v + if is_polars(data): + from hvplot.polars import hvPlotTabularPolars + return hvPlotTabularPolars(data)(kind=kind, **no_none_kwargs) return hvPlotTabular(data)(kind=kind, **no_none_kwargs) diff --git a/hvplot/util.py b/hvplot/util.py index 6983ffd7d..49d0ef4a3 100644 --- a/hvplot/util.py +++ b/hvplot/util.py @@ -348,6 +348,12 @@ def is_dask(data): import dask.dataframe as dd return isinstance(data, (dd.DataFrame, dd.Series)) +def is_polars(data): + if not check_library(data, 'polars'): + return False + import polars as pl + return isinstance(data, (pl.DataFrame, pl.Series, pl.LazyFrame)) + def is_intake(data): if "intake" not in sys.modules: return False