From ccc62e62226abe1066830ad7668736dd5e634b43 Mon Sep 17 00:00:00 2001 From: Chris Wright 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 7ed26491af..a7393823c3 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 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 a7393823c3..e800c676ac 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 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 e800c676ac..c8415d4d57 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 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 c8415d4d57..45fdae3b48 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 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 45fdae3b48..c7f7767f99 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 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 c7f7767f99..23b13f232d 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 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 23b13f232d..77294e6393 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 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 77294e6393..3ba7c98623 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 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 3ba7c98623..18f48dde9d 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 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 18f48dde9d..c4471ed3c6 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 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 c4471ed3c6..30a759326b 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 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 c26c79ab8b..e9504bddca 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 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 923896f403..fe1426fea0 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