-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathplot_graphs.py
More file actions
124 lines (99 loc) · 3.88 KB
/
plot_graphs.py
File metadata and controls
124 lines (99 loc) · 3.88 KB
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
'''
Created on 18-Mar-2018
@author: DELL
'''
import matplotlib.pyplot as plt
import read_files
import math
import matplotlib
import numpy
def movies_per_year_line():
movie_list = read_files.get_movie_list()
movies_per_year_dict = {}
for x in movie_list:
movies_per_year_dict[int(x.get_release_year())] = 0
for x in movie_list:
y = movies_per_year_dict.get(int(x.get_release_year()))
y += 1
movies_per_year_dict[int(x.get_release_year())] = y
print(movies_per_year_dict)
x = movies_per_year_dict.keys()
y = movies_per_year_dict.values()
## Display only integers on the axes
#yint = range(math.floor(min(y)), math.ceil(max(y))+1)
#matplotlib.pyplot.yticks(yint)
#xint = range(math.floor(min(x)), math.ceil(max(x))+1)
#matplotlib.pyplot.xticks(xint)
plt.xlabel("Year")
plt.ylabel("Number of Movies")
plt.grid(True, 'both', 'both')
plt.plot(x, y)
plt.show()
def total_overseas_and_us_revenue_per_year():
movie_list = read_files.get_movie_list()
overseas_and_us_revenue_per_year = {}
for x in movie_list:
overseas_and_us_revenue_per_year[int(x.get_release_year())] = [0, 0]
for x in movie_list:
movie_release_year = int(x.get_release_year())
if hasattr(x, "overseas_in_mill_dollars"):
movie_overseas_revenue = x.overseas_in_mill_dollars
else:
movie_overseas_revenue = 0
if hasattr(x, "us_in_mill_dollars"):
movie_us_revenue = x.us_in_mill_dollars
else:
movie_us_revenue = 0
cumulative_overseas_revenue = overseas_and_us_revenue_per_year[movie_release_year][0]
cumulative_overseas_revenue += movie_overseas_revenue
cumulative_us_revenue = overseas_and_us_revenue_per_year[movie_release_year][1]
cumulative_us_revenue += movie_us_revenue
overseas_and_us_revenue_per_year[movie_release_year] = [cumulative_overseas_revenue, cumulative_us_revenue]
print(overseas_and_us_revenue_per_year)
# X = overseas_and_us_revenue_per_year.keys() ## Returns a dict_keys object
X = list(overseas_and_us_revenue_per_year.keys())
movie_dict_values = list(overseas_and_us_revenue_per_year.values())
Y,Z = [],[]
for x in movie_dict_values:
Y.append(x[0])
Z.append(x[1])
print("X = " + str(X))
print("Y = " + str(Y))
print("Z = " + str(Z))
plt.bar(X, Y, color='r', width=0.4, label="Overseas Revenue")
temp_X = []
for x in X:
temp_X.append(x+0.4)
plt.bar(temp_X, Z, color='g', width=0.4, label="US Revenue")
plt.legend()
plt.xlabel("Year")
plt.ylabel("Overseas and US revenue in Million Dollars")
plt.grid(True, 'both', 'both')
plt.show()
def gross_revenue_rating_scatter():
movie_list = read_files.get_movie_list()
movie_gross_revenue_rating_dict = {}
for x in movie_list:
if hasattr(x, "gross_in_mill_dollars"):
movie_gross_revenue_rating_dict[x.movie_id] = [x.gross_in_mill_dollars, x.get_average_rating()]
# print(movie_gross_revenue_rating_dict)
area = []
for x in movie_gross_revenue_rating_dict:
temp_area = movie_gross_revenue_rating_dict[x][0] * movie_gross_revenue_rating_dict[x][1]
area.append(temp_area * 0.01)
# print(area)
X, Y, temp_values_list = [], [], []
temp_values_list = list(movie_gross_revenue_rating_dict.values())
for x in temp_values_list:
X.append(x[0])
Y.append(x[1])
# print(X)
# print(Y)
plt.xlabel("Gross Revenue in Million Dollars")
plt.ylabel("Average Rating")
color = numpy.random.rand(len(movie_gross_revenue_rating_dict))
plt.scatter(x=X, y=Y, s=area, c=color, alpha=0.5)
plt.show()
# movies_per_year_line()
# total_overseas_and_us_revenue_per_year()
# gross_revenue_rating_scatter()