facet_grid#
- facet_grid(x=None, y=None, *, scales=None, x_order=1, y_order=1, x_format=None, y_format=None, x_labwidth=None, y_labwidth=None)#
Split data by one or two faceting variables. For each data subset creates a plot panel and lays out panels as grid. The grid columns are defined by X faceting variable and rows are defined by Y faceting variable.
- Parameters:
- xstr
Variable name which defines columns of the facet grid.
- ystr
Variable name which defines rows of the facet grid.
- scalesstr
Specify whether scales are shared across all facets. ‘fixed’ - shared (the default), ‘free’ - vary across both rows and columns, ‘free_x’ or ‘free_y’ - vary across rows or columns respectively.
- x_orderint, default=1
Specify ordering direction of columns. 1 - ascending, -1 - descending, 0 - no ordering.
- y_orderint, default=1
Specify ordering direction of rows. 1 - ascending, -1 - descending, 0 - no ordering.
- x_formatstr
Specify the format pattern for displaying faceting values in columns.
- y_formatstr
Specify the format pattern for displaying faceting values in rows.
- x_labwidthint, default=None
The maximum label length (in characters) before a line breaking is applied. If the original facet label already contains \n as a text separator, it splits at those points first, then wraps each part according to x_labwidth.
- y_labwidthint, default=None
The maximum label length (in characters) before a line breaking is applied. If the original facet label already contains \n as a text separator, it splits at those points first, then wraps each part according to y_labwidth.
- Returns:
- FeatureSpec
Facet grid specification.
Notes
Format pattern in the x_format / y_format parameters can be just a number format (like ‘d’) or a string template where number format is surrounded by curly braces: “{d} cylinders”.
For example:
‘.2f’ -> ‘12.45’,
‘Score: {.2f}’ -> ‘Score: 12.45’,
‘Score: {}’ -> ‘Score: 12.454789’.
For more info see Formatting.
Examples
1import numpy as np 2from lets_plot import * 3LetsPlot.setup_html() 4n = 100 5np.random.seed(42) 6x = np.random.normal(size=n) 7group = np.random.choice(['a', 'b'], size=n) 8ggplot({'x': x, 'group': group}, aes(x='x')) + \ 9 geom_histogram() + facet_grid(x='group')
1import numpy as np 2from lets_plot import * 3LetsPlot.setup_html() 4n = 1000 5np.random.seed(42) 6x = np.random.normal(size=n) 7p = [1/6, 1/3, 1/2] 8y = np.random.choice(p, size=n, p=p) 9ggplot({'x': x, 'y': y}, aes(x='x')) + \ 10 geom_histogram() + \ 11 facet_grid(y='y', y_order=-1, y_format='.2f')