pm4py.vis.view_petri_net#

pm4py.vis.view_petri_net(petri_net: PetriNet, initial_marking: Marking | None = None, final_marking: Marking | None = None, format: str = 'png', bgcolor: str = 'white', decorations: Dict[Any, Any] = None, debug: bool = False, rankdir: str = 'LR', graph_title: str | None = None, variant_str: str = 'wo_decoration', log: EventLog | DataFrame | None = None)[source]#

Views a (composite) Petri net.

Parameters:
  • petri_net (PetriNet) – Petri net

  • initial_marking – Initial marking

  • final_marking – Final marking

  • format (str) – Format of the output picture (if ‘html’ is provided, GraphvizJS is used to render the visualization in an HTML page)

  • bgcolor (str) – Background color of the visualization (default: white)

  • decorations – Decorations (color, label) associated with the elements of the Petri net

  • debug (bool) – Boolean enabling/disabling debug mode (shows place and transition names)

  • rankdir (str) – Sets the direction of the graph (“LR” for left-to-right; “TB” for top-to-bottom)

  • graph_title – Sets the title of the visualization (if provided)

  • variant_str (str) – The variant to be used (possible values: ‘wo_decoration’, ‘token_decoration_frequency’, ‘token_decoration_performance’, ‘greedy_decoration_frequency’, ‘greedy_decoration_performance’, ‘alignments’)

  • log – The event log or Pandas dataframe that should be used, if decoration is required

import pm4py

net, im, fm = pm4py.discover_petri_net_inductive(dataframe, activity_key='concept:name', case_id_key='case:concept:name', timestamp_key='time:timestamp')
pm4py.view_petri_net(net, im, fm, format='svg')