#!/usr/local/bin/python import csv import igraph from igraph import * from itertools import chain def is_hashtag(vertex): return vertex["name"].startswith("#") reader = csv.DictReader(open("sample-of-all.csv"), dialect="excel")#mjd.ALL.2162014.csv network-sample-problematic.csv#kh-all-graph-validated.csv g = igraph.Graph.DictList(vertices=None, edges=reader) #del g.es()[None] g.to_undirected() g.simplify() hashtags = [] with open('good-hashtags.csv') as f: hashtags = f.read().splitlines() for v in g.vs: if (str(v["name"]) not in hashtags) : #print v["name"] + str(v.degree()) g.delete_vertices(v) for v in g.vs: if v.degree() == 0: g.delete_vertices(v) layout = g.layout_random() visual_style = {} visual_style["layout"] = layout visual_style["vertex_color"] = ["red" if is_hashtag(vertex) else "blue" for vertex in g.vs] visual_style["vertex_size"] = [5 if is_hashtag(vertex) else 23 for vertex in g.vs] visual_style["vertex_label"] = ["" if is_hashtag(vertex) else vertex["name"] for vertex in g.vs] visual_style["vertex_label_size"] = 23 visual_style["edge_width"] = .15 visual_style["edge_length"] = 7 visual_style["edge_color"] =["pink"] visual_style["vertex_label_dist"] = 2 visual_style["bbox"] = (1000, 1000) visual_style["margin"] = 50 plot(g, "/Users/ahamed/Publications/JBI-SI-GoodTemplate/ddi-network-vis-kh-pruned-rand.pdf",**visual_style) #ddi-network-vis-kh-labeled.pdf plot(g, **visual_style)