Spaces:
Sleeping
Sleeping
File size: 1,274 Bytes
7aa8120 e16b974 7aa8120 3698810 d8f6f04 3698810 d8f6f04 3698810 e16b974 3698810 e16b974 3698810 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
import streamlit as st
from st_cytoscape import cytoscape
# elements = [
# {"data": {"id": "X"}, "selected": True, "selectable": False},
# {"data": {"id": "Y"}},
# {"data": {"id": "Z"}},
# {"data": {"source": "X", "target": "Y", "id": "X➞Y"}},
# {"data": {"source": "Z", "target": "Y", "id": "Z➞Y"}},
# {"data": {"source": "Z", "target": "X", "id": "Z➞X"}},
# ]
import requests
import json
url = "https://raw.githubusercontent.com/cytoscape/cytoscape.js/refs/heads/master/documentation/demos/tokyo-railways/tokyo-railways.json"
response = requests.get(url)
data = json.loads(response.text)
elements = data['elements']['nodes'] + data['elements']['edges']
stylesheet = [
{"selector": "node",
"style": {"label": "data(station_name)", "width": 10, "height": 10}},
# {
# "selector": "edge",
# "style": {
# "width": 3,
# "curve-style": "bezier",
# "target-arrow-shape": "triangle",
# },
# },
]
selected = cytoscape(elements, stylesheet, width="100%", height="540px", layout={"name": "preset"}, key="graph")
print(selected)
st.markdown("**Selected nodes**: %s" % (", ".join(selected["nodes"])))
st.markdown("**Selected edges**: %s" % (", ".join(selected["edges"]))) |