In [60]:
import sys
sys.path.append('../../code/')
import os
import json
from datetime import datetime
import time
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import scipy.stats as stats
import igraph as ig
from load_data import load_citation_network_igraph, case_info
%load_ext autoreload
%autoreload 2
%matplotlib inline
data_dir = '../../data/'
court_name = 'scotus'
In [37]:
# this will be a little slow the first time you run it
G = load_citation_network_igraph(data_dir, court_name, directed=False)
G.delete_vertices([29701]) # remove detroit
In [48]:
mod = G.community_fastgreedy()
mod_cluster = mod.as_clustering()
mod_mem = mod_cluster.membership
community_sizes = {c: mod_mem.count(c) for c in set(mod_mem)}
# sorted(mod_cluster.sizes(), reverse=True)
In [51]:
[c for c in community_sizes.keys() if community_sizes[c] > 1000]
Out[51]:
In [93]:
layout = []
for v in G.vs:
layout.append([v['year'], -v.indegree()])
visual_style = {}
visual_style["layout"] = layout
# # vertices
visual_style['vertex_size'] = 2
vertex_colors = []
for i in range(len(G.vs)):
if mod_mem[i] == 0:
vertex_colors.append('red')
else:
vertex_colors.append('black')
visual_style['vertex_color'] = vertex_colors
visual_style['vertex_frame_color'] = vertex_colors
visual_style['edge_arrow_size'] = 0
visual_style['edge_width'] = .01
visual_style['edge_alpha'] = .1
In [96]:
# ig.plot(G, **visual_style)
In [ ]: