polars.LazyFrame.show_graph#
- LazyFrame.show_graph(
- *,
- optimized: bool = True,
- show: bool = True,
- output_path: str | Path | None = None,
- raw_output: bool = False,
- figsize: tuple[float, float] = (16.0, 12.0),
- type_coercion: bool = True,
- predicate_pushdown: bool = True,
- projection_pushdown: bool = True,
- simplify_expression: bool = True,
- slice_pushdown: bool = True,
- comm_subplan_elim: bool = True,
- comm_subexpr_elim: bool = True,
- cluster_with_columns: bool = True,
- streaming: bool = False,
Show a plot of the query plan.
Note that graphviz must be installed to render the visualization (if not already present you can download it here: <https://graphviz.org/download>`_).
- Parameters:
- optimized
Optimize the query plan.
- show
Show the figure.
- output_path
Write the figure to disk.
- raw_output
Return dot syntax. This cannot be combined with
show
and/oroutput_path
.- figsize
Passed to matplotlib if
show
== True.- type_coercion
Do type coercion optimization.
- predicate_pushdown
Do predicate pushdown optimization.
- projection_pushdown
Do projection pushdown optimization.
- simplify_expression
Run simplify expressions optimization.
- slice_pushdown
Slice pushdown optimization.
- comm_subplan_elim
Will try to cache branching subplans that occur on self-joins or unions.
- comm_subexpr_elim
Common subexpressions will be cached and reused.
- cluster_with_columns
Combine sequential independent calls to with_columns
- streaming
Run parts of the query in a streaming fashion (this is in an alpha state)
Examples
>>> lf = pl.LazyFrame( ... { ... "a": ["a", "b", "a", "b", "b", "c"], ... "b": [1, 2, 3, 4, 5, 6], ... "c": [6, 5, 4, 3, 2, 1], ... } ... ) >>> lf.group_by("a", maintain_order=True).agg(pl.all().sum()).sort( ... "a" ... ).show_graph()