Spaces:
Runtime error
Runtime error
import networkx as nx | |
import matplotlib.pyplot as plt | |
from pyvis.network import Network | |
import pandas as pd | |
import streamlit as st | |
def got_func(physics): | |
got_net = Network(height="600px", width="100%", font_color="black",heading='Game of Thrones Graph') | |
# set the physics layout of the network | |
got_net.barnes_hut() | |
got_data = pd.read_csv("stormofswords.csv") | |
#got_data = pd.read_csv("stormofswords.csv") | |
#got_data.rename(index={0: "Source", 1: "Target", 2: "Weight"}) | |
sources = got_data['Source'] | |
targets = got_data['Target'] | |
weights = got_data['Weight'] | |
edge_data = zip(sources, targets, weights) | |
for e in edge_data: | |
src = e[0] | |
dst = e[1] | |
w = e[2] | |
got_net.add_node(src, src, title=src) | |
got_net.add_node(dst, dst, title=dst) | |
got_net.add_edge(src, dst, value=w) | |
neighbor_map = got_net.get_adj_list() | |
# add neighbor data to node hover data | |
for node in got_net.nodes: | |
node["title"] += " Neighbors:<br>" + "<br>".join(neighbor_map[node["id"]]) | |
node["value"] = len(neighbor_map[node["id"]]) | |
if physics: | |
got_net.show_buttons(filter_=['physics']) | |
got_net.show("gameofthrones.html") | |
def simple_func(physics): | |
nx_graph = nx.cycle_graph(10) | |
nx_graph.nodes[1]['title'] = 'Number 1' | |
nx_graph.nodes[1]['group'] = 1 | |
nx_graph.nodes[3]['title'] = 'I belong to a different group!' | |
nx_graph.nodes[3]['group'] = 10 | |
nx_graph.add_node(20, size=20, title='couple', group=2) | |
nx_graph.add_node(21, size=15, title='couple', group=2) | |
nx_graph.add_edge(20, 21, weight=5) | |
nx_graph.add_node(25, size=25, label='lonely', title='lonely node', group=3) | |
nt = Network("500px", "500px",notebook=True,heading='') | |
nt.from_nx(nx_graph) | |
#physics=st.sidebar.checkbox('add physics interactivity?') | |
if physics: | |
nt.show_buttons(filter_=['physics']) | |
nt.show('test.html') | |
def karate_func(physics): | |
G = nx.karate_club_graph() | |
nt = Network("500px", "500px",notebook=True,heading='Zachary’s Karate Club graph') | |
nt.from_nx(G) | |
#physics=st.sidebar.checkbox('add physics interactivity?') | |
if physics: | |
nt.show_buttons(filter_=['physics']) | |
nt.show('karate.html') |