pm4py.visualization.ocel.ocdfg.variants package#

PM4Py – A Process Mining Library for Python

Copyright (C) 2024 Process Intelligence Solutions UG (haftungsbeschränkt)

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see this software project’s root or visit <https://www.gnu.org/licenses/>.

Website: https://processintelligence.solutions Contact: info@processintelligence.solutions

Submodules#

pm4py.visualization.ocel.ocdfg.variants.classic module#

PM4Py – A Process Mining Library for Python

Copyright (C) 2024 Process Intelligence Solutions UG (haftungsbeschränkt)

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see this software project’s root or visit <https://www.gnu.org/licenses/>.

Website: https://processintelligence.solutions Contact: info@processintelligence.solutions

class pm4py.visualization.ocel.ocdfg.variants.classic.Parameters(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]#

Bases: Enum

FORMAT = 'format'#
BGCOLOR = 'bgcolor'#
RANKDIR = 'rankdir'#
ACT_METRIC = 'act_metric'#
EDGE_METRIC = 'edge_metric'#
ACT_THRESHOLD = 'act_threshold'#
EDGE_THRESHOLD = 'edge_threshold'#
ANNOTATION = 'annotation'#
PERFORMANCE_AGGREGATION_MEASURE = 'aggregationMeasure'#
ENABLE_GRAPH_TITLE = 'enable_graph_title'#
GRAPH_TITLE = 'graph_title'#
pm4py.visualization.ocel.ocdfg.variants.classic.ot_to_color(ot: str) str[source]#
pm4py.visualization.ocel.ocdfg.variants.classic.add_activity(G: Digraph, act, freq, act_prefix, nodes, annotation, min_freq, max_freq)[source]#

Adds an activity node to the graph

pm4py.visualization.ocel.ocdfg.variants.classic.add_frequency_edge(G: Digraph, ot, act1, act2, freq, edge_prefix, nodes, min_freq, max_freq)[source]#

Adds a edge (frequency annotation)

pm4py.visualization.ocel.ocdfg.variants.classic.add_performance_edge(G: Digraph, ot, act1, act2, perf, edge_prefix, nodes, aggregation_measure)[source]#

Adds an edge (performance annotation)

pm4py.visualization.ocel.ocdfg.variants.classic.add_start_node(G: Digraph, ot, act, freq, edge_prefix, nodes, annotation, min_freq, max_freq)[source]#

Adds a start node to the graph

pm4py.visualization.ocel.ocdfg.variants.classic.add_end_node(G: Digraph, ot, act, freq, edge_prefix, nodes, annotation, min_freq, max_freq)[source]#

Adds an end node to the graph

pm4py.visualization.ocel.ocdfg.variants.classic.apply(ocdfg: Dict[str, Any], parameters: Dict[Any, Any] | None = None) Digraph[source]#

Visualizes an OC-DFG as a Graphviz di-graph

Parameters#

ocdfg

OC-DFG

parameters

Parameters of the algorithm: - Parameters.FORMAT => the format of the output visualization (default: “png”) - Parameters.BGCOLOR => the default background color (default: “bgcolor”) - Parameters.RANKDIR => direction of the graph (“LR” for left-to-right; “TB” for top-to-bottom) - Parameters.ACT_METRIC => the metric to use for the activities. Available values:

  • “events” => number of events (default)

  • “unique_objects” => number of unique objects

  • “total_objects” => number of total objects

  • Parameters.EDGE_METRIC => the metric to use for the edges. Available values:
    • “event_couples” => number of event couples (default)

    • “unique_objects” => number of unique objects

    • “total_objects” => number of total objects

  • Parameters.ACT_THRESHOLD => the threshold to apply on the activities frequency (default: 0). Only activities

having a frequency >= than this are kept in the graph. - Parameters.EDGE_THRESHOLD => the threshold to apply on the edges frequency (default 0). Only edges having a frequency >= than this are kept in the graph. - Parameters.ANNOTATION => the annotation to use for the visualization. Values:

  • “frequency”: frequency annotation

  • “performance”: performance annotation

  • Parameters.PERFORMANCE_AGGREGATION_MEASURE => the aggregation measure to use for the performance:
    • mean

    • median

    • min

    • max

    • sum

Returns#

viz

Graphviz DiGraph

pm4py.visualization.ocel.ocdfg.variants.classic.save(gviz: Digraph, output_file_path: str, parameters=None)[source]#

Save the diagram

Parameters#

gviz

GraphViz diagram

output_file_path

Path where the GraphViz output should be saved

pm4py.visualization.ocel.ocdfg.variants.classic.view(gviz: Digraph, parameters=None)[source]#

View the diagram

Parameters#

gviz

GraphViz diagram

pm4py.visualization.ocel.ocdfg.variants.classic.matplotlib_view(gviz: Digraph, parameters=None)[source]#

Views the diagram using Matplotlib

Parameters#

gviz

Graphviz

pm4py.visualization.ocel.ocdfg.variants.elkjs module#

PM4Py – A Process Mining Library for Python

Copyright (C) 2024 Process Intelligence Solutions UG (haftungsbeschränkt)

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see this software project’s root or visit <https://www.gnu.org/licenses/>.

Website: https://processintelligence.solutions Contact: info@processintelligence.solutions

class pm4py.visualization.ocel.ocdfg.variants.elkjs.Parameters(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]#

Bases: Enum

ENCODING = 'encoding'#
IFRAME_WIDTH = 'iframe_width'#
IFRAME_HEIGHT = 'iframe_height'#
LOCAL_JUPYTER_FILE_NAME = 'local_jupyter_file_name'#
PERFORMANCE_AGGREGATION_MEASURE = 'aggregationMeasure'#
ANNOTATION = 'annotation'#
ACT_METRIC = 'act_metric'#
EDGE_METRIC = 'edge_metric'#
ACT_THRESHOLD = 'act_threshold'#
EDGE_THRESHOLD = 'edge_threshold'#
pm4py.visualization.ocel.ocdfg.variants.elkjs.wrap_text(text: str, max_length: int = 15) str[source]#
pm4py.visualization.ocel.ocdfg.variants.elkjs.get_html_file_contents()[source]#
pm4py.visualization.ocel.ocdfg.variants.elkjs.apply(ocdfg: Dict[str, Any], parameters: Dict[Any, Any] | None = None) str[source]#

Visualizes an OC-DFG using ELK.JS

Parameters#

ocdfg

OC-DFG

parameters

Parameters of the algorithm: - Parameters.ACT_METRIC => the metric to use for the activities. Available values:

  • “events” => number of events (default)

  • “unique_objects” => number of unique objects

  • “total_objects” => number of total objects

  • Parameters.EDGE_METRIC => the metric to use for the edges. Available values:
    • “event_couples” => number of event couples (default)

    • “unique_objects” => number of unique objects

    • “total_objects” => number of total objects

  • Parameters.ANNOTATION => the annotation to use for the visualization. Values:
    • “frequency”: frequency annotation

    • “performance”: performance annotation

  • Parameters.PERFORMANCE_AGGREGATION_MEASURE => the aggregation measure to use for the performance:
    • mean

    • median

    • min

    • max

    • sum

Returns#

viz

Visualization file

pm4py.visualization.ocel.ocdfg.variants.elkjs.view(temp_file_name, parameters=None)[source]#

View the SNA visualization on the screen

Parameters#

temp_file_name

Temporary file name

parameters

Possible parameters of the algorithm

pm4py.visualization.ocel.ocdfg.variants.elkjs.save(temp_file_name, dest_file, parameters=None)[source]#

Save the SNA visualization from a temporary file to a well-defined destination file

Parameters#

temp_file_name

Temporary file name

dest_file

Destination file

parameters

Possible parameters of the algorithm