Skip to content

Commit 1882f51

Browse files
pandas backend
1 parent be36f37 commit 1882f51

File tree

1 file changed

+81
-0
lines changed

1 file changed

+81
-0
lines changed
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
"""
2+
Pandas plotting backend functions, see:
3+
https://github.com/pandas-dev/pandas/blob/master/pandas/plotting/__init__.py
4+
5+
To activate, set pandas.options.plotting.backend="plotly.express.pandas_backend"
6+
"""
7+
from ._chart_types import scatter, line, area, bar, box, histogram
8+
9+
10+
def plot(data, kind, **kwargs):
11+
if kind == "scatter":
12+
del kwargs["s"]
13+
del kwargs["c"]
14+
return scatter(data, **kwargs)
15+
if kind == "line":
16+
return line(data, **kwargs)
17+
if kind == "area":
18+
return area(data, **kwargs)
19+
if kind == "bar":
20+
return bar(data, **kwargs)
21+
if kind == "barh":
22+
return bar(data, orientation="h", **kwargs)
23+
if kind == "box":
24+
del kwargs["by"]
25+
return box(data, **kwargs)
26+
if kind in "hist":
27+
del kwargs["by"]
28+
if kwargs.get("bins"):
29+
kwargs["nbins"] = kwargs["bins"]
30+
del kwargs["bins"]
31+
return histogram(data, **kwargs)
32+
raise NotImplementedError(
33+
"The plotly.express backend doesn't yet support kind='%s'" % kind
34+
)
35+
36+
37+
def boxplot_frame(data, **kwargs):
38+
del kwargs["by"]
39+
del kwargs["column"]
40+
del kwargs["ax"]
41+
del kwargs["fontsize"]
42+
del kwargs["rot"]
43+
del kwargs["grid"]
44+
del kwargs["figsize"]
45+
del kwargs["layout"]
46+
del kwargs["return_type"]
47+
return box(data, **kwargs)
48+
49+
50+
def hist_frame(data, **kwargs):
51+
del kwargs["column"]
52+
del kwargs["by"]
53+
del kwargs["grid"]
54+
del kwargs["xlabelsize"]
55+
del kwargs["xrot"]
56+
del kwargs["ylabelsize"]
57+
del kwargs["yrot"]
58+
del kwargs["ax"]
59+
del kwargs["sharex"]
60+
del kwargs["sharey"]
61+
del kwargs["figsize"]
62+
del kwargs["layout"]
63+
if kwargs.get("bins"):
64+
kwargs["nbins"] = kwargs["bins"]
65+
del kwargs["bins"]
66+
return histogram(data, **kwargs)
67+
68+
69+
def hist_series(data, **kwargs):
70+
del kwargs["by"]
71+
del kwargs["grid"]
72+
del kwargs["xlabelsize"]
73+
del kwargs["xrot"]
74+
del kwargs["ylabelsize"]
75+
del kwargs["yrot"]
76+
del kwargs["ax"]
77+
del kwargs["figsize"]
78+
if kwargs.get("bins"):
79+
kwargs["nbins"] = kwargs["bins"]
80+
del kwargs["bins"]
81+
return histogram(data, **kwargs)

0 commit comments

Comments
 (0)