Source code for plotnine_extra.composition._wrap
from __future__ import annotations
from plotnine.ggplot import ggplot
from ._compose import Compose
[docs]
class Wrap(Compose):
"""
Wrap plots or compositions into a grid
**Usage**
plot + plot
plot + composition
composition + plot
composition + composition
Typically, you will use this class through the `+` operator.
Parameters
----------
items:
The objects to be arranged (composed)
nrow:
Number of rows in the composition
ncol:
Number of cols in the composition
See Also
--------
plotnine_extra.composition.Beside
plotnine_extra.composition.Stack
plotnine_extra.composition.plot_spacer
plotnine_extra.composition.Compose
"""
def __add__(self, rhs):
"""
Add rhs into the wrapping composition
"""
if not isinstance(rhs, (ggplot, Compose)):
return super().__add__(rhs)
return (
Wrap([*self, rhs])
+ self.layout
+ self.annotation
)
def __or__(self, rhs: ggplot | Compose) -> Compose:
"""
Add rhs as a column
"""
from ._beside import Beside
return Beside([self, rhs])
def __truediv__(self, rhs: ggplot | Compose) -> Compose:
"""
Add rhs as a row
"""
from ._stack import Stack
return Stack([self, rhs])