lets_plot.facet_wrap(facets, ncol=None, nrow=None, order=None, format=None, dir='h')

Splits data by one or more faceting variables. For each data subset creates a plot panel and lays out panels according to the ncol, nrow and dir settings.

  • facets (str or list) – One or more faceting variable names.

  • ncol (int) – Number of columns.

  • nrow (int) – Number of rows.

  • order (int or list, default=None) – Specifies ordering direction panels. 1 (or None) - ascending, -1 - descending. The order values are positionally matched to variables in facets.

  • format (str or list) – Specifies the format pattern for displaying faceting values. The format values are positionally matched to variables in facets.

  • dir ({‘h’, ‘v’}, default=’h’) – Direction: either ‘h’ for horizontal, or ‘v’, for vertical.


Facet wrap specification.

Return type



Format patterns in the format parameter 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 https://lets-plot.org/pages/formats.html.


1import numpy as np
2from lets_plot import *
4n = 100
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_wrap(facets='group')