In [110]:
""" Date : 05th November 2015
Author : Sreejith Menon
"""
Out[110]:
In [111]:
import csv
import matplotlib.pyplot as plt
%matplotlib inline
import numpy as np
import operator
%matplotlib inline
In [112]:
def count_stat(input_dict):
count_stat_output = {}
count_stat_output_sorted = {}
for row in input_dict:
name = input_dict[row]
if name in count_stat_output.keys():
curr_count = count_stat_output[name]
count_stat_output[name] = curr_count + 1
else:
count_stat_output[name] = 1
#count_stat_output_sorted = sorted(count_stat_output.items(), key=operator.itemgetter(0))
return count_stat_output
In [113]:
def plot_hist_from_dict(dict,x,y,i):
dict_length = len(dict)
X = np.arange(dict_length)
Figure = plt.figure(i)
Axis = Figure.add_subplot(1,1,1)
for i in range(0,dict_length):
Axis.bar(X[i], y[i], align='center',width=0.5)
Axis.set_xticks(X)
xtickNames = Axis.set_xticklabels(x)
plt.setp(x)
plt.xticks(rotation=20)
ymax = max(y) + 1
plt.ylim(0,ymax)
In [114]:
data_dict = csv.DictReader(open("../data/giraffe_masai.csv","r"))
car_id_name = {}
In [115]:
# Filtering out NNP GZC car data
for row in data_dict:
search_string = "NNP GZC Car"
index = row["image_contributor"].find(search_string)
if index != -1:
annotation_id = int(row["annotation_id"])
contributor = row["image_contributor"].strip().split('<COMMA>')
car_name = contributor[0].strip()
car_id_name[annotation_id] = car_name
In [116]:
# Gathering the counts per car. Make this a function.
picture_counts_un = count_stat(car_id_name)
x = []
y = []
for w in sorted(picture_counts_un, key=picture_counts_un.get, reverse=True):
x.append(w.strip("NNP GZC Car"))
y.append(picture_counts_un[w])
In [117]:
plot_hist_from_dict(picture_counts,x,y,1)
In [118]:
# Gathering picture counts per person. Replace the list with dictionary
uniq_per = {}
data_dict = csv.DictReader(open("../data/giraffe_masai.csv","r"))
for row in data_dict:
search_string = "NNP GZC Car"
index = row["image_contributor"].find(search_string)
if index != -1:
row_str = row["image_contributor"].strip("NNP GZC Car")
annotation_id = int(row["annotation_id"])
uniq_per[annotation_id] = row_str.replace('<COMMA>','')
In [119]:
picture_counts_1 = count_stat(uniq_per)
x = []
y = []
for w in sorted(picture_counts_1, key=picture_counts_1.get, reverse=True):
x.append(w.strip("Person"))
y.append(picture_counts_1[w])
In [120]:
plot_hist_from_dict(picture_counts_1,x,y,2)
In [121]:
plt.show()
In [ ]: