From ccc62e62226abe1066830ad7668736dd5e634b43 Mon Sep 17 00:00:00 2001
From: Chris Wright <chris@inkyspider.co.uk>
Date: Fri, 2 Apr 2021 15:25:34 +0100
Subject: [PATCH 01/13] Add facet arguments to polar figure functions

---
 .../python/plotly/plotly/express/_chart_types.py  | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/packages/python/plotly/plotly/express/_chart_types.py b/packages/python/plotly/plotly/express/_chart_types.py
index 7ed26491afe..a7393823c37 100644
--- a/packages/python/plotly/plotly/express/_chart_types.py
+++ b/packages/python/plotly/plotly/express/_chart_types.py
@@ -805,6 +805,11 @@ def scatter_polar(
     r=None,
     theta=None,
     color=None,
+    facet_row=None,
+    facet_col=None,
+    facet_col_wrap=0,
+    facet_row_spacing=None,
+    facet_col_spacing=None,
     symbol=None,
     size=None,
     hover_name=None,
@@ -850,6 +855,11 @@ def line_polar(
     r=None,
     theta=None,
     color=None,
+    facet_row=None,
+    facet_col=None,
+    facet_col_wrap=0,
+    facet_row_spacing=None,
+    facet_col_spacing=None,
     line_dash=None,
     hover_name=None,
     hover_data=None,
@@ -892,6 +902,11 @@ def bar_polar(
     r=None,
     theta=None,
     color=None,
+    facet_row=None,
+    facet_col=None,
+    facet_col_wrap=0,
+    facet_row_spacing=None,
+    facet_col_spacing=None,
     hover_name=None,
     hover_data=None,
     custom_data=None,

From 2bc5648f363d5649e59dd09eae449ebc016a4884 Mon Sep 17 00:00:00 2001
From: Chris Wright <chris@inkyspider.co.uk>
Date: Fri, 2 Apr 2021 15:26:20 +0100
Subject: [PATCH 02/13] Add facet arguments to 3D figure functions

---
 packages/python/plotly/plotly/express/_chart_types.py | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/packages/python/plotly/plotly/express/_chart_types.py b/packages/python/plotly/plotly/express/_chart_types.py
index a7393823c37..e800c676aca 100644
--- a/packages/python/plotly/plotly/express/_chart_types.py
+++ b/packages/python/plotly/plotly/express/_chart_types.py
@@ -631,6 +631,11 @@ def scatter_3d(
     y=None,
     z=None,
     color=None,
+    facet_row=None,
+    facet_col=None,
+    facet_col_wrap=0,
+    facet_row_spacing=None,
+    facet_col_spacing=None,
     symbol=None,
     size=None,
     text=None,
@@ -683,6 +688,11 @@ def line_3d(
     y=None,
     z=None,
     color=None,
+    facet_row=None,
+    facet_col=None,
+    facet_col_wrap=0,
+    facet_row_spacing=None,
+    facet_col_spacing=None,
     line_dash=None,
     text=None,
     line_group=None,

From 38252c243408ffa2633a532b68fb33fb2a16f8c4 Mon Sep 17 00:00:00 2001
From: Chris Wright <chris@inkyspider.co.uk>
Date: Fri, 2 Apr 2021 15:26:47 +0100
Subject: [PATCH 03/13] Add facet arguments to ternary figure functions

---
 packages/python/plotly/plotly/express/_chart_types.py | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/packages/python/plotly/plotly/express/_chart_types.py b/packages/python/plotly/plotly/express/_chart_types.py
index e800c676aca..c8415d4d579 100644
--- a/packages/python/plotly/plotly/express/_chart_types.py
+++ b/packages/python/plotly/plotly/express/_chart_types.py
@@ -740,6 +740,11 @@ def scatter_ternary(
     b=None,
     c=None,
     color=None,
+    facet_row=None,
+    facet_col=None,
+    facet_col_wrap=0,
+    facet_row_spacing=None,
+    facet_col_spacing=None,
     symbol=None,
     size=None,
     text=None,
@@ -780,6 +785,11 @@ def line_ternary(
     b=None,
     c=None,
     color=None,
+    facet_row=None,
+    facet_col=None,
+    facet_col_wrap=0,
+    facet_row_spacing=None,
+    facet_col_spacing=None,
     line_dash=None,
     line_group=None,
     hover_name=None,

From a74698b0298de45729b1645f31eace1a308cd2f3 Mon Sep 17 00:00:00 2001
From: Chris Wright <chris@inkyspider.co.uk>
Date: Fri, 2 Apr 2021 15:27:06 +0100
Subject: [PATCH 04/13] Add facet arguments to mapbox figure functions

---
 .../plotly/plotly/express/_chart_types.py     | 20 +++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/packages/python/plotly/plotly/express/_chart_types.py b/packages/python/plotly/plotly/express/_chart_types.py
index c8415d4d579..45fdae3b488 100644
--- a/packages/python/plotly/plotly/express/_chart_types.py
+++ b/packages/python/plotly/plotly/express/_chart_types.py
@@ -1130,6 +1130,11 @@ def scatter_mapbox(
     lat=None,
     lon=None,
     color=None,
+    facet_row=None,
+    facet_col=None,
+    facet_col_wrap=0,
+    facet_row_spacing=None,
+    facet_col_spacing=None,
     text=None,
     hover_name=None,
     hover_data=None,
@@ -1170,6 +1175,11 @@ def choropleth_mapbox(
     featureidkey=None,
     locations=None,
     color=None,
+    facet_row=None,
+    facet_col=None,
+    facet_col_wrap=0,
+    facet_row_spacing=None,
+    facet_col_spacing=None,
     hover_name=None,
     hover_data=None,
     custom_data=None,
@@ -1206,6 +1216,11 @@ def density_mapbox(
     lat=None,
     lon=None,
     z=None,
+    facet_row=None,
+    facet_col=None,
+    facet_col_wrap=0,
+    facet_row_spacing=None,
+    facet_col_spacing=None,
     hover_name=None,
     hover_data=None,
     custom_data=None,
@@ -1243,6 +1258,11 @@ def line_mapbox(
     lat=None,
     lon=None,
     color=None,
+    facet_row=None,
+    facet_col=None,
+    facet_col_wrap=0,
+    facet_row_spacing=None,
+    facet_col_spacing=None,
     text=None,
     hover_name=None,
     hover_data=None,

From c87072920d16704657a196e2c32dc76cd73418e0 Mon Sep 17 00:00:00 2001
From: Chris Wright <chris@inkyspider.co.uk>
Date: Fri, 2 Apr 2021 15:27:51 +0100
Subject: [PATCH 05/13] Add facet arguments to scatter matrix figure function

---
 packages/python/plotly/plotly/express/_chart_types.py | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/packages/python/plotly/plotly/express/_chart_types.py b/packages/python/plotly/plotly/express/_chart_types.py
index 45fdae3b488..c7f7767f99d 100644
--- a/packages/python/plotly/plotly/express/_chart_types.py
+++ b/packages/python/plotly/plotly/express/_chart_types.py
@@ -1296,6 +1296,11 @@ def scatter_matrix(
     data_frame=None,
     dimensions=None,
     color=None,
+    facet_row=None,
+    facet_col=None,
+    facet_col_wrap=0,
+    facet_row_spacing=None,
+    facet_col_spacing=None,
     symbol=None,
     size=None,
     hover_name=None,

From 644424a79491fc05dcf6c6bad29fc38d0c0eb04e Mon Sep 17 00:00:00 2001
From: Chris Wright <chris@inkyspider.co.uk>
Date: Fri, 2 Apr 2021 15:28:08 +0100
Subject: [PATCH 06/13] Add facet arguments to parallel coordinates figure
 function

---
 packages/python/plotly/plotly/express/_chart_types.py | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/packages/python/plotly/plotly/express/_chart_types.py b/packages/python/plotly/plotly/express/_chart_types.py
index c7f7767f99d..23b13f232d1 100644
--- a/packages/python/plotly/plotly/express/_chart_types.py
+++ b/packages/python/plotly/plotly/express/_chart_types.py
@@ -1340,6 +1340,11 @@ def parallel_coordinates(
     data_frame=None,
     dimensions=None,
     color=None,
+    facet_row=None,
+    facet_col=None,
+    facet_col_wrap=0,
+    facet_row_spacing=None,
+    facet_col_spacing=None,
     labels=None,
     color_continuous_scale=None,
     range_color=None,

From c151920161acd4e7cc7ddcbb7e4316c51226f77c Mon Sep 17 00:00:00 2001
From: Chris Wright <chris@inkyspider.co.uk>
Date: Fri, 2 Apr 2021 15:28:26 +0100
Subject: [PATCH 07/13] Add facet arguments to parallel categories figure
 function

---
 packages/python/plotly/plotly/express/_chart_types.py | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/packages/python/plotly/plotly/express/_chart_types.py b/packages/python/plotly/plotly/express/_chart_types.py
index 23b13f232d1..77294e63933 100644
--- a/packages/python/plotly/plotly/express/_chart_types.py
+++ b/packages/python/plotly/plotly/express/_chart_types.py
@@ -1369,6 +1369,11 @@ def parallel_categories(
     data_frame=None,
     dimensions=None,
     color=None,
+    facet_row=None,
+    facet_col=None,
+    facet_col_wrap=0,
+    facet_row_spacing=None,
+    facet_col_spacing=None,
     labels=None,
     color_continuous_scale=None,
     range_color=None,

From 0b5848fb5cdb63b661ad72ea6d8e7985dd8be57e Mon Sep 17 00:00:00 2001
From: Chris Wright <chris@inkyspider.co.uk>
Date: Fri, 2 Apr 2021 15:28:42 +0100
Subject: [PATCH 08/13] Add facet arguments to pie figure function

---
 packages/python/plotly/plotly/express/_chart_types.py | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/packages/python/plotly/plotly/express/_chart_types.py b/packages/python/plotly/plotly/express/_chart_types.py
index 77294e63933..3ba7c986239 100644
--- a/packages/python/plotly/plotly/express/_chart_types.py
+++ b/packages/python/plotly/plotly/express/_chart_types.py
@@ -1401,6 +1401,11 @@ def pie(
     names=None,
     values=None,
     color=None,
+    facet_row=None,
+    facet_col=None,
+    facet_col_wrap=0,
+    facet_row_spacing=None,
+    facet_col_spacing=None,
     color_discrete_sequence=None,
     color_discrete_map=None,
     hover_name=None,

From 790474bfb940222fbfcab67c272a1e7266b35002 Mon Sep 17 00:00:00 2001
From: Chris Wright <chris@inkyspider.co.uk>
Date: Fri, 2 Apr 2021 15:28:55 +0100
Subject: [PATCH 09/13] Add facet arguments to scatter sunburst figure function

---
 packages/python/plotly/plotly/express/_chart_types.py | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/packages/python/plotly/plotly/express/_chart_types.py b/packages/python/plotly/plotly/express/_chart_types.py
index 3ba7c986239..18f48dde9dd 100644
--- a/packages/python/plotly/plotly/express/_chart_types.py
+++ b/packages/python/plotly/plotly/express/_chart_types.py
@@ -1455,6 +1455,11 @@ def sunburst(
     path=None,
     ids=None,
     color=None,
+    facet_row=None,
+    facet_col=None,
+    facet_col_wrap=0,
+    facet_row_spacing=None,
+    facet_col_spacing=None,
     color_continuous_scale=None,
     range_color=None,
     color_continuous_midpoint=None,

From 8a6d26f538dfeb50c19b028b96fd784a58f09ddf Mon Sep 17 00:00:00 2001
From: Chris Wright <chris@inkyspider.co.uk>
Date: Fri, 2 Apr 2021 15:29:13 +0100
Subject: [PATCH 10/13] Add facet arguments to treemap figure function

---
 packages/python/plotly/plotly/express/_chart_types.py | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/packages/python/plotly/plotly/express/_chart_types.py b/packages/python/plotly/plotly/express/_chart_types.py
index 18f48dde9dd..c4471ed3c6b 100644
--- a/packages/python/plotly/plotly/express/_chart_types.py
+++ b/packages/python/plotly/plotly/express/_chart_types.py
@@ -1510,6 +1510,11 @@ def treemap(
     ids=None,
     path=None,
     color=None,
+    facet_row=None,
+    facet_col=None,
+    facet_col_wrap=0,
+    facet_row_spacing=None,
+    facet_col_spacing=None,
     color_continuous_scale=None,
     range_color=None,
     color_continuous_midpoint=None,

From 1fd06fcfe59f37cf75512f51876c7ffd338690ea Mon Sep 17 00:00:00 2001
From: Chris Wright <chris@inkyspider.co.uk>
Date: Fri, 2 Apr 2021 15:29:29 +0100
Subject: [PATCH 11/13] Add facet arguments to funnel area figure function

---
 packages/python/plotly/plotly/express/_chart_types.py | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/packages/python/plotly/plotly/express/_chart_types.py b/packages/python/plotly/plotly/express/_chart_types.py
index c4471ed3c6b..30a759326b8 100644
--- a/packages/python/plotly/plotly/express/_chart_types.py
+++ b/packages/python/plotly/plotly/express/_chart_types.py
@@ -1603,6 +1603,11 @@ def funnel_area(
     names=None,
     values=None,
     color=None,
+    facet_row=None,
+    facet_col=None,
+    facet_col_wrap=0,
+    facet_row_spacing=None,
+    facet_col_spacing=None,
     color_discrete_sequence=None,
     color_discrete_map=None,
     hover_name=None,

From 8def951d1f0cfd65ad04c690e43c6f7e46219c74 Mon Sep 17 00:00:00 2001
From: Chris Wright <chris@inkyspider.co.uk>
Date: Fri, 2 Apr 2021 15:56:41 +0100
Subject: [PATCH 12/13] Update plotly express documentation to communicate
 faceting support for all figure factory functions

---
 doc/python/plotly-express.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/doc/python/plotly-express.md b/doc/python/plotly-express.md
index c26c79ab8b8..e9504bddcad 100644
--- a/doc/python/plotly-express.md
+++ b/doc/python/plotly-express.md
@@ -66,7 +66,7 @@ The Plotly Express API in general offers the following features:
 * **Automatic Hover Labels**: PX functions populate the hover-label using the labels mentioned above, and provide [extra control with the `hover_name` and `hover_data` arguments](/python/hover-text-and-formatting/).
 * **Styling Control**: PX functions [read styling information from the default figure template](/python/styling-plotly-express/), and support commonly-needed [cosmetic controls like `category_orders` and `color_discrete_map`](/python/styling-plotly-express/) to precisely control categorical variables.
 * **Uniform Color Handling**: PX functions automatically switch between [continuous](/python/colorscales/) and [categorical color](/python/discrete-color/) based on the input type.
-* **Faceting**: the 2D-cartesian plotting functions support [row, column and wrapped facetting with `facet_row`, `facet_col` and `facet_col_wrap` arguments](/python/facet-plots/).
+* **Faceting**: Plotting functions support [row, column and wrapped facetting with `facet_row`, `facet_col` and `facet_col_wrap` arguments](/python/facet-plots/).
 * **Marginal Plots**: the 2D-cartesian plotting functions support [marginal distribution plots](/python/marginal-plots/) with the `marginal`, `marginal_x` and `marginal_y` arguments.
 * **A Pandas backend**: the 2D-cartesian plotting functions are available as [a Pandas plotting backend](/python/pandas-backend/) so you can call them via `df.plot()`.
 * **Trendlines**: `px.scatter` supports [built-in trendlines with accessible model output](/python/linear-fits/).

From 1f336619ca492ee1aa0fb59cf47257ca6df36783 Mon Sep 17 00:00:00 2001
From: Chris Wright <chris@inkyspider.co.uk>
Date: Fri, 2 Apr 2021 15:57:50 +0100
Subject: [PATCH 13/13] Note express widespread figure factory function
 faceting support in changelog

---
 CHANGELOG.md | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 923896f4030..fe1426fea0c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,12 @@
 All notable changes to this project will be documented in this file.
 This project adheres to [Semantic Versioning](http://semver.org/).
 
+## Unreleased
+
+### Updated
+
+- All `plotly.express` figure factory functions now support faceting [2646](https://github.com/plotly/plotly.py/issues/2646)
+
 
 ## [4.14.3] - 2021-01-12