0

我正在尝试绘制 Petri 网图。我正在使用 python 并且已经能够生成图形。然而,只有转换被标记。地点没有标签属性。所以我尝试设置 arc.source.label 和 arc.target.label 但标签没有出现在生成的图中。有人可以告诉我我错过了什么吗?这是代码

import os
from pm4py.objects.petri_net.utils import petri_utils
from pm4py.objects.petri_net.exporter import exporter as pnml_exporter
from pm4py.visualization.petri_net import visualizer as pn_visualizer
from pathlib import Path

from pm4py.objects.petri_net.utils.petri_utils import add_arc_from_to

net = PetriNet('new_petri_net')            
p_1 = PetriNet.Place('p_1')
p_2 = PetriNet.Place('p_2')
p_3 = PetriNet.Place('p_3')
# add the places to the Petri Net
net.places.add(p_1)
net.places.add(p_2)
net.places.add(p_3)
# Create transitions
t_1 = PetriNet.Transition('namet_1','transition1')
t_2 = PetriNet.Transition('namet_2','transition2')
  
# Add the transitions to the Petri Net
net.transitions.add(t_1)
net.transitions.add(t_2)
# Add arcs
petri_utils.add_arc_from_to(p_1, t_1, net)
petri_utils.add_arc_from_to(t_1,p_2, net)
petri_utils.add_arc_from_to(p_2, t_2, net)

places = net.places
transitions = net.transitions
arcs = net.arcs
for place in places:
    for arc in place.in_arcs:
        arc.source.label = place.name
    for arc in place.out_arcs:
        arc.target.label = place.name

gviz = pn_visualizer.apply(net)
pn_visualizer.view(gviz)
pn_visualizer.save(gviz,str(os.path.join(BASE_DIR,"testviz.png")))
      
4

0 回答 0