In [110]:
""" Date : 05th November 2015
    Author : Sreejith Menon
"""


Out[110]:
' Date : 05th November 2015\n    Author : Sreejith Menon\n'

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 [ ]: