LayoutSettings

Symbolica documentation for getting started, symbolic expressions, numerical evaluation, pattern matching, and APIs in Python and Rust.

LayoutSettings

class LayoutSettings

Immutable native graph layout overrides. None leaves an option to the renderer; it does not force a default override. Constructors and read-only properties expose options to help() and completion.

Examples

from symbolica.community.graph import LayoutSettings
settings = LayoutSettings(impred_steps=100, impred_labels=True)

Attributes

Name Description
impred_attraction Nonnegative attraction multiplier; the native default is 2.5.
impred_contract_chord_ratio Positive contraction threshold below the subdivision threshold; default 1.25.
impred_edge_clearance Positive edge clearance in drawing units; the native default is 0.4.
impred_external_max_points Maximum intermediate external-route points, from 0 to 3; default 2.
impred_labels Refine the layout around measured labels; disabled by default.
impred_level Rotate toward the external-pull optimum; enabled by default.
impred_node_edge_strength Nonnegative node-edge repulsion multiplier; the native default is 4.
impred_parallel_balance Parallel-edge attraction balance; the native default is 1.
impred_pull External-leg pull multiplier; the native default is 0.45.
impred_pull_balance Balance of external-leg pulls; the native default is 1.
impred_repulsion Nonnegative repulsion multiplier; the native default is 2.5.
impred_spacing Target spacing in drawing units; the native default is 2.4.
impred_split_length_ratio Subdivision threshold relative to spacing; the native default is 1.5.
impred_step_scale Maximum integration stride after settling; the native default is 2.
impred_steps Cooling schedule duration in reference steps; the native default is 500.
layout_algo Layout algorithm: “impred” preserves the embedding; “dot” uses layered ranks.
tree_dx Horizontal spacing for layered layouts, in drawing units.
tree_dy Vertical spacing for layered layouts, in drawing units.

impred_attraction

LayoutSettings.impred_attraction: typing.Optional[builtins.float]

Nonnegative attraction multiplier; the native default is 2.5.

Examples

from symbolica.community.graph import LayoutSettings
value = LayoutSettings().impred_attraction

impred_contract_chord_ratio

LayoutSettings.impred_contract_chord_ratio: typing.Optional[builtins.float]

Positive contraction threshold below the subdivision threshold; default 1.25.

Examples

from symbolica.community.graph import LayoutSettings
value = LayoutSettings().impred_contract_chord_ratio

impred_edge_clearance

LayoutSettings.impred_edge_clearance: typing.Optional[builtins.float]

Positive edge clearance in drawing units; the native default is 0.4.

Examples

from symbolica.community.graph import LayoutSettings
value = LayoutSettings().impred_edge_clearance

impred_external_max_points

LayoutSettings.impred_external_max_points: typing.Optional[builtins.int]

Maximum intermediate external-route points, from 0 to 3; default 2.

Examples

from symbolica.community.graph import LayoutSettings
value = LayoutSettings().impred_external_max_points

impred_labels

LayoutSettings.impred_labels: typing.Optional[builtins.bool]

Refine the layout around measured labels; disabled by default.

Examples

from symbolica.community.graph import LayoutSettings
value = LayoutSettings().impred_labels

impred_level

LayoutSettings.impred_level: typing.Optional[builtins.bool]

Rotate toward the external-pull optimum; enabled by default.

Examples

from symbolica.community.graph import LayoutSettings
value = LayoutSettings().impred_level

impred_node_edge_strength

LayoutSettings.impred_node_edge_strength: typing.Optional[builtins.float]

Nonnegative node-edge repulsion multiplier; the native default is 4.

Examples

from symbolica.community.graph import LayoutSettings
value = LayoutSettings().impred_node_edge_strength

impred_parallel_balance

LayoutSettings.impred_parallel_balance: typing.Optional[builtins.float]

Parallel-edge attraction balance; the native default is 1.

Examples

from symbolica.community.graph import LayoutSettings
value = LayoutSettings().impred_parallel_balance

impred_pull

LayoutSettings.impred_pull: typing.Optional[builtins.float]

External-leg pull multiplier; the native default is 0.45.

Examples

from symbolica.community.graph import LayoutSettings
value = LayoutSettings().impred_pull

impred_pull_balance

LayoutSettings.impred_pull_balance: typing.Optional[builtins.float]

Balance of external-leg pulls; the native default is 1.

Examples

from symbolica.community.graph import LayoutSettings
value = LayoutSettings().impred_pull_balance

impred_repulsion

LayoutSettings.impred_repulsion: typing.Optional[builtins.float]

Nonnegative repulsion multiplier; the native default is 2.5.

Examples

from symbolica.community.graph import LayoutSettings
value = LayoutSettings().impred_repulsion

impred_spacing

LayoutSettings.impred_spacing: typing.Optional[builtins.float]

Target spacing in drawing units; the native default is 2.4.

Examples

from symbolica.community.graph import LayoutSettings
value = LayoutSettings().impred_spacing

impred_split_length_ratio

LayoutSettings.impred_split_length_ratio: typing.Optional[builtins.float]

Subdivision threshold relative to spacing; the native default is 1.5.

Examples

from symbolica.community.graph import LayoutSettings
value = LayoutSettings().impred_split_length_ratio

impred_step_scale

LayoutSettings.impred_step_scale: typing.Optional[builtins.int]

Maximum integration stride after settling; the native default is 2.

Examples

from symbolica.community.graph import LayoutSettings
value = LayoutSettings().impred_step_scale

impred_steps

LayoutSettings.impred_steps: typing.Optional[builtins.int]

Cooling schedule duration in reference steps; the native default is 500.

Examples

from symbolica.community.graph import LayoutSettings
value = LayoutSettings().impred_steps

layout_algo

LayoutSettings.layout_algo: typing.Optional[builtins.str]

Layout algorithm: “impred” preserves the embedding; “dot” uses layered ranks.

Examples

from symbolica.community.graph import LayoutSettings
value = LayoutSettings().layout_algo

tree_dx

LayoutSettings.tree_dx: typing.Optional[builtins.float]

Horizontal spacing for layered layouts, in drawing units.

Examples

from symbolica.community.graph import LayoutSettings
value = LayoutSettings().tree_dx

tree_dy

LayoutSettings.tree_dy: typing.Optional[builtins.float]

Vertical spacing for layered layouts, in drawing units.

Examples

from symbolica.community.graph import LayoutSettings
value = LayoutSettings().tree_dy

Methods

Name Description
__new__ Construct immutable overrides; None preserves the renderer’s defaults.
__repr__ Inspect the selected overrides without rendering a diagram.

__new__

LayoutSettings.__new__(
    *,
    layout_algo: typing.Literal['dot', 'impred'] | None = None,
    tree_dx: typing.Optional[builtins.float] = None,
    tree_dy: typing.Optional[builtins.float] = None,
    impred_steps: typing.Optional[builtins.int] = None,
    impred_step_scale: typing.Optional[builtins.int] = None,
    impred_spacing: typing.Optional[builtins.float] = None,
    impred_repulsion: typing.Optional[builtins.float] = None,
    impred_attraction: typing.Optional[builtins.float] = None,
    impred_parallel_balance: typing.Optional[builtins.float] = None,
    impred_pull: typing.Optional[builtins.float] = None,
    impred_pull_balance: typing.Optional[builtins.float] = None,
    impred_external_max_points: typing.Optional[builtins.int] = None,
    impred_split_length_ratio: typing.Optional[builtins.float] = None,
    impred_contract_chord_ratio: typing.Optional[builtins.float] = None,
    impred_edge_clearance: typing.Optional[builtins.float] = None,
    impred_node_edge_strength: typing.Optional[builtins.float] = None,
    impred_labels: typing.Optional[builtins.bool] = None,
    impred_level: typing.Optional[builtins.bool] = None,
) -> LayoutSettings

Construct immutable overrides; None preserves the renderer’s defaults.

Examples

from symbolica.community.graph import LayoutSettings
settings = LayoutSettings(impred_steps=100, impred_labels=True)

Parameters

  • layout_algo (str or None, optional) Layout algorithm: “impred” preserves the embedding; “dot” uses layered ranks.
  • tree_dx (float or None, optional) Horizontal spacing for layered layouts, in drawing units.
  • tree_dy (float or None, optional) Vertical spacing for layered layouts, in drawing units.
  • impred_steps (int or None, optional) Cooling schedule duration in reference steps; the native default is 500.
  • impred_step_scale (int or None, optional) Maximum integration stride after settling; the native default is 2.
  • impred_spacing (float or None, optional) Target spacing in drawing units; the native default is 2.4.
  • impred_repulsion (float or None, optional) Nonnegative repulsion multiplier; the native default is 2.5.
  • impred_attraction (float or None, optional) Nonnegative attraction multiplier; the native default is 2.5.
  • impred_parallel_balance (float or None, optional) Parallel-edge attraction balance; the native default is 1.
  • impred_pull (float or None, optional) External-leg pull multiplier; the native default is 0.45.
  • impred_pull_balance (float or None, optional) Balance of external-leg pulls; the native default is 1.
  • impred_external_max_points (int or None, optional) Maximum intermediate external-route points, from 0 to 3; default 2.
  • impred_split_length_ratio (float or None, optional) Subdivision threshold relative to spacing; the native default is 1.5.
  • impred_contract_chord_ratio (float or None, optional) Positive contraction threshold below the subdivision threshold; default 1.25.
  • impred_edge_clearance (float or None, optional) Positive edge clearance in drawing units; the native default is 0.4.
  • impred_node_edge_strength (float or None, optional) Nonnegative node-edge repulsion multiplier; the native default is 4.
  • impred_labels (bool or None, optional) Refine the layout around measured labels; disabled by default.
  • impred_level (bool or None, optional) Rotate toward the external-pull optimum; enabled by default.

__repr__

LayoutSettings.__repr__() -> builtins.str

Inspect the selected overrides without rendering a diagram.

Examples

from symbolica.community.graph import LayoutSettings
text = repr(LayoutSettings(impred_steps=100, impred_labels=True))