예제 #1
0
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)
예제 #2
0
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)


예제 #3
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])
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()
예제 #4
0
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...")
예제 #5
0
    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)
예제 #6
0
파일: snippet.py 프로젝트: szabo92/gistable
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)
예제 #7
0
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()