def main(): # Load in Mike's data mikedewar = nx.read_graphml('mikedewar_rec.graphml') # We need to relabel nodes as Twitter name if we want to show the names in the plot label_dict = dict(map(lambda i : (mikedewar.nodes()[i], mikedewar.nodes(data=True)[i][1]['Label']), xrange(mikedewar.number_of_nodes()))) mikedewar_d3 = nx.relabel_nodes(mikedewar, label_dict) # Export d3_js.export_d3_js(mikedewar_d3, files_dir="mikedewar", graphname="mikedewar", group="REC", node_labels=False)
for node in retweet_network.nodes(data=True): if retweet_network.degree(node[0]) == 0: retweet_network.remove_node(node[0]) continue # Builds Left-Right distribution node_taglist = node[1]['tags'] for tag in node_taglist: if node[1]['cluster'] == "left": left_right_table[tag]['left'] += 1 else: left_right_table[tag]['right'] += 1 print "############### PROBABILISTICALLY REDUCED GRAPH ################" print "Number of edges: " + str(retweet_network.number_of_edges()) print "Number of nodes: " + str(retweet_network.number_of_nodes()) for tag in left_right_table: print tag + " " + str(left_right_table[tag]) # Testing: print "Structure of a node: +++++++++++++++" print retweet_network.nodes(data=True)[0] print "Structure of an edge: ++++++++++++++" print retweet_network.edges(data=True)[0] # Exports to D3.js d3_js.export_d3_js(retweet_network, files_dir="visualization", graphname="retweet_network", group="cluster", node_labels=False)
for edge in edge_dict: if edge_dict[ edge] > 3: # and cite_dict[edge[0]]>=8 and cite_dict[edge[1]]>=8 : G.add_edge(edge[0], edge[1], weight=edge_dict[edge]) for node in G: G.add_node(node) #adds list of nodes separately thru dict lookup import community partition = community.best_partition(G) for node in G: G.add_node(node, group=str(partition[node])) d3_js.export_d3_js(G, files_dir="netweb", graphname="cites", node_labels=True, group="group") fix = open('netweb/cites.json', 'rb').read() # Not sure what this is fixing tbh # for n in G: # try: # fix=re.sub(str(n)+'''"''',str(n)+'''" , "nodeSize":'''+str(cite_dict[n]),fix) # except: # print 'error with',n f = open('netweb/cites.json', 'w+') f.write(fix) f.close()
from networkx.readwrite.d3_js import export_d3_js from loaner import Loaner, LoanerSociety loaner = Loaner(LoanerSociety.random_society(10)) def prep_graph(graph): for i in range(graph.number_of_nodes()): node = graph.nodes()[i] graph.node[node]['group'] = int(node.pays_off) + 1 while True: loaner.sim_n_rounds(20) prep_graph(loaner.society) export_d3_js(loaner.society,group='group',files_dir="small") raw_input("Press Enter to continue...")
if cite_counter[cite_pair[0]] >= cite_threshold\ and cite_counter[cite_pair[1]] >= cite_threshold\ and co_cite_counter[cite_pair] >= co_cite_threshold: graph.add_edge(cite_pair[0], cite_pair[1], weight=co_cite_counter[cite_pair]) for cite in cite_pair: if cite not in full_cites: full_cites.append(cite) num_edges += 1 partition = community.best_partition(graph) for node in graph: graph.add_node(node, freq=cite_counter[node], group=str(partition[node])) d3_js.export_d3_js(graph, files_dir='results', graphname='graph', node_labels=True, group='group') with open('results/graph.json', 'rb') as graph_json: fix = graph_json.read() for node in graph: try: fix = re.sub(str(node) + '"', str(node) + '" , "nodeSize":' + str(cite_counter[node]), fix) except: print 'Error with %s' % node with open('results/graph.json', 'w+') as graph_json: graph_json.write(fix)
import networkx as nx from networkx.readwrite import d3_js mikedewar = nx.read_graphml('mikedewar_rec.graphml') # We need to relabel nodes as Twitter name if we want to show the names in the plot label_dict = dict( map( lambda i: (mikedewar.nodes()[i], mikedewar.nodes(data=True)[i][1]['Label']), xrange(mikedewar.number_of_nodes()))) mikedewar_d3 = nx.relabel_nodes(mikedewar, label_dict) # Export d3_js.export_d3_js(mikedewar_d3, files_dir="mikedewar", graphname="mikedewar", group="REC", node_labels=False)
G=nx.Graph() counter=0 for edge in edge_dict: if edge_dict[edge]>3 and cite_dict[edge[0]]>=8 and cite_dict[edge[1]]>=8 : G.add_edge(edge[0],edge[1],weight=edge_dict[edge]) counter=counter+1 print counter for node in G: G.add_node(node,freq=cite_dict[node]) import community partition=community.best_partition(G) print len(partition) for node in G: G.add_node(node,freq=cite_dict[node], group=str(partition[node])) d3_js.export_d3_js(G,files_dir="netweb",graphname="cites",node_labels=True,group="group") fix=open('netweb/cites.json','rb').read() for n in G: try: fix=re.sub(str(n)+'''"''',str(n)+'''" , "nodeSize":'''+str(cite_dict[n]),fix) except: print 'error with',n f = open('netweb/cites.json', 'w+') f.write(fix) f.close()