Skip to content

[Bug]: Measurement order arrow outside of frame in flow visualisation #535

Description

@matulni

The "Layer" arrow in flow visualisation appears outside the plot frame for linear graphs.
In general, we expect it to be at a fixed, constant distance between the lower open graph nodes and the plot frame.

Incorrect behavior:

from graphix import OpenGraph, PauliExponential, Plane
import networkx as nx

og = OpenGraph(graph=nx.Graph([(0, 1), (1, 2), (2, 3)]), input_nodes=[0], output_nodes=[3], measurements=dict.fromkeys(range(3), Plane.XY))
flow = og.extract_causal_flow()

flow.draw()
Image

Correct behaviour (for non-linear open graphs):

from graphix import OpenGraph, PauliExponential, Plane
import networkx as nx

og = OpenGraph(graph=nx.Graph([(0, 2), (2, 4), (1, 3), (3, 5), (2, 3)]), input_nodes=[0, 1], output_nodes=[4, 5], measurements=dict.fromkeys(range(4), Plane.XY))
flow = og.extract_causal_flow()

flow.draw()
Image

The potential fix should make methods GraphVisualizer._set_plot_lims and GraphVisualizer._draw_layers in the visualization.py module more robust.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions