-
Notifications
You must be signed in to change notification settings - Fork 1
/
plot-comparisons.py
130 lines (105 loc) · 2.52 KB
/
plot-comparisons.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
import matplotlib.pyplot as plt
import pandas as pd
from urllib2 import urlopen
import numpy as np
#nba = pd.read_csv('comparing-bowlers.csv', index_col=0, delimiter = ',')
interpolation_type = 'krg'
distance_measure = 'bottleneck'
file_name = 'comparing-batsmen-'+interpolation_type+'-' + distance_measure + '.csv'
#file_name = 'comparisons/comparing-batsmen-cricmetric.csv'
nba = pd.read_csv(file_name, index_col=0, delimiter = ',')
max_value = max(nba.max())
min_value = min(nba.min())
nba_sort = nba
# Plot it out
fig, ax = plt.subplots()
#heatmap = ax.pcolor(nba_sort, cmap=plt.cm.YlGnBu, alpha=1.0)
heatmap = ax.pcolor(nba_sort, cmap=plt.cm.coolwarm, alpha=1.0)
fig = plt.gcf()
fig.set_size_inches(8,11)
# turn off the frame
ax.set_frame_on(False)
# put the major ticks at the middle of each cell
ax.set_yticks(np.arange(nba_sort.shape[0])+0.5, minor=False)
ax.set_xticks(np.arange(nba_sort.shape[1])+0.5, minor=False)
# want a more natural, table-like display
ax.invert_yaxis()
ax.xaxis.tick_top()
labels = [
'Amit Mishra',
'Dwayne Bravo',
'Axar Patel',
'James Faulkner',
'Praveen Kumar',
'Chris Morris',
'Shahbaz Nadeem',
'Mitchell McClenaghan',
'Mohit Sharma',
'Mitchell Johnson',
'Morne Morkel',
'Dhawal Kulkarni',
'Rajat Bhatia',
'Harbhajan Singh',
'Ashok Dinda',
'Shane Watson',
'Ravichandran Ashwin',
'Sandeep Sharma',
'Jasprit Bumrah',
'Piyush Chawla',
'Ashish Nehra',
'Yuzvendra Chahal',
'Bhuvneshwar Kumar',
'Dale Steyn',
'Sunil Narine',
'Umesh Yadav',
'Vinay Kumar',
'Zaheer Khan',
'Ravindra Jadeja'
]
labels = [
'Gautam Gambhir',
'Suresh Raina',
'Steve Smith',
'Virat Kohli',
'MS Dhoni',
'Robin Uthappa',
'Shikhar Dhawan',
'Shane Watson',
'de Villiers',
'Michael Hussey',
'Rohit Sharma',
'David Warner',
'Manish Pandey',
'Yusuf Pathan',
'Dinesh Karthik',
'Parthiv Patel',
'Aaron Finch',
'Dwayne Smith',
'Murali Vijay',
'Sanju Samson',
'Ajinkya Rahane',
'David Miller',
'Yuvraj Singh',
'Brendon McCullum',
'Chris Gayle',
'Kieron Pollard',
]
# note I could have used nba_sort.columns but made "labels" instead
ax.set_xticklabels(labels, minor=False)
ax.set_yticklabels(nba_sort.index, minor=False)
# rotate the
plt.xticks(rotation=90)
ax.grid(False)
# Turn off all the ticks
ax = plt.gca()
for t in ax.xaxis.get_major_ticks():
t.tick1On = False
t.tick2On = False
for t in ax.yaxis.get_major_ticks():
t.tick1On = False
t.tick2On = False
cb = plt.colorbar(heatmap)
cb.outline.set_visible(False)
cb.set_ticks([])
plt.subplots_adjust(left=0.18, bottom=0.03, right=0.88, top=0.75, wspace=0.20, hspace=0.20)
plt.show()