Skip to content
Internals

group

Partitions the data by a field and wraps each partition in its own frame, without positioning the frames. Pair it with another operator — or a nested mark — to lay the groups out.

python
from gofish import chart, spread, group, stack, rect

chart(seafood).flow(
    spread(by="lake", dir="x"),
    group(by="species"),
).mark(rect(h="count", fill="species")).render(w=400, h=300, axes=True)

Signature

python
group(*, by, **options) -> Operator

Parameters

ParameterTypeDescription
bystrRequired. Field name to group by.

Returns an Operator for use inside .flow().

How it works

group only partitions — it draws each partition's contents in a shared frame but does not move the frames apart. Use it when a later operator (or the mark itself) is responsible for layout, or when you need the grouping boundary for scales and color.

Notes

  • For most charts, spread or stack — which partition and position — are what you want. Reach for group when you need the partition without the layout.
  • by is required.