添加节点后修改ipycytoscape图形的样式

2024-10-06 11:21:45 发布

您现在位置:Python中文网/ 问答频道 /正文

Imaging我有一个ipycytoscape图,如下所示:

railnet= '''{
    "nodes": [
        {"data": { "id": "BER", "label":"HBf BER", "classes":"east"}},
        {"data": { "id": "MUN", "label":"HBf MUN", "classes":"west"}},
        {"data": { "id": "FRA", "label":"HBf FRA", "classes":"west"}}
        ],
    "edges": [
        {"data": { "id": "line1", "source": "BER", "target": "MUN","label":"200km/h"}},
        {"data": { "id": "line2", "source": "MUN", "target": "FRA","label":"200km/h"}},
        {"data": { "id": "line3", "source": "FRA", "target": "BER","label":"250km/h" }}           
    ]
  }'''

train_style = [
    {'selector': 'node','style': {
        'font-family': 'arial',
        'font-size': '10px',
        'label': 'data(label)',
        'background-color': 'green'}},
    
    {'selector': 'node[classes="east"]','style': {
        'background-color': 'yellow'}},
    
     {'selector': 'node[classes="west"]','style': {
        'background-color': 'blue'}}
]

railnetJSON = json.loads(railnet)
ipycytoscape_obj = ipycytoscape.CytoscapeWidget()
ipycytoscape_obj.graph.add_graph_from_json(railnetJSON, directed=False) 
ipycytoscape_obj.set_style(train_style)
ipycytoscape_obj

如何修改类以将类“capital”添加到节点id='BER'中,同时修改样式以添加具有类“capital”的节点必须为绿色的事实

我的方法是什么? A) 添加节点:

station_NUR = ipycytoscape.Node()
station_NUR.data['id'] = "NUR"
station_NUR.data['label'] = "HBf NUR"
station_NUR.data['classes'] = "west"

B)改变现有BER节点的等级? ---&燃气轮机;不知道如何进行

c)改变现有风格 我以为

train_style.append(
        {'selector': 'node[classes="Capital"]','style': {
            'background-color': 'green'}})

ipycytoscape_obj.set_style(train_style)
    ipycytoscape_obj

但这是行不通的

有什么想法吗


Tags: idobjdatastyletrainselectorlabelclasses