【Python数据分析课程设计】大数据分析—游戏销售额分析

发布时间 2023-12-30 13:56:55作者: 李彰杉

一、选题背景介绍

游戏开发商面临着越来越多的竞争,需要制定合理的市场策略来保持竞争优势。 对游戏销售额进行分析是了解游戏市场和游戏产业状况的重要手段之一。通过对游戏销售额的分析,可以了解游戏市场规模和增长趋势,评估不同类型游戏的表现,发现新的商业机会,并为游戏开发商制定市场策略提供参考。 同时,游戏销售额的分析也对政府和游戏行业的发展具有重要意义。政府可以通过了解游戏市场情况和游戏产业发展趋势,为游戏产业制定有利的政策和规划。因此,对游戏销售额进行分析已成为游戏开发商、投资者、政府和游戏行业相关方的重要需求之一。这种分析可以帮助他们更好地了解游戏市场和游戏产业的状况,为游戏开发和投资提供有益的建议,并推动游戏产业的健康发展。

二、大数据设计方案

 

 Name:游戏名称 Platform:发售平台

Year:发售年份 Genre:游戏类型

Publisher:发行商 NA_Sales;NA销量

EU_Sales:EU销量 JP_Sales:JP销量

Other_Sales:其他地区 Global_Sales:全部销量

三、数据集简介

数据来源于kaggle的Video Game Sales电子游戏销售[https://www.kaggle.com/datasets/gregorut/videogamesales]()。

数据清洗:

 1 import pandas as pd
 2 import numpy as np
 3 import matplotlib as plt
 4 #解决中文显示问题
 5 #解决负号的显示问题
 6 from matplotlib import font_manager
 7 import matplotlib as mpl
 8 mpl.rcParams['font.sans-serif'] = ['KaiTi', 'SimHei', 'FangSong']  # 汉字字体,优先使用楷体,如果找不到楷体,则使用黑体
 9 mpl.rcParams['font.size'] = 12  # 字体大小
10 mpl.rcParams['axes.unicode_minus'] = False  # 正常显示负号
11 #1.导入原始数据
12 df=pd.read_csv("vgsales.csv")
13 #查看前五条记录
14 df.head()

1 #查看后五条记录
2 df.tail()

1 #列字段重命名
2 df.columns=['排名','游戏名','平台','发行年份','类型','发行商','NA销售额','EU销售额','JP销售额','其他地区销售额','总销售额']
3 df.head()

1 #检查是否有缺失值
2 df.isnull().any()

1 #检查数据缺失情况
2 import missingno as msno
3 import matplotlib.pyplot as plt
4 #默认只处理数值类型,include='all':全处理,'object':
5 #df1.describe(include = 'all').T   
6 #白线越多,空白值越多(缺失值越多)
7 msno.matrix(df, figsize = (16, 5),labels=True)   
8 plt.show()

 

 1 #计算具体缺失值
 2 def mis_val_total(df):
 3     mis_val_sum=df.isnull().sum()
 4     print(mis_val_sum)
 5     pre=mis_val_sum*100/len(df)
 6     mis_val_pre_table=pre.to_frame()
 7     mis_val_pre_table.columns=['缺失率']
 8     mis_val_pre_table=mis_val_pre_table.sort_values(by='缺失率',ascending=False,axis=0)
 9     return mis_val_pre_table
10     
11 mis_val_total(df) 

 

 

 

1 #删除缺失值(缺失数据占总数据较少,且对数据分析的结果没有较大的影响)
2 df=df.dropna()
3 df.info()

 

1 #改变Year数据类型
2 df['发行年份']=df['发行年份'].astype(int)
3 df.info()

 

1 #进行数据分析
2 df=pd.read_csv("电子游戏数据.csv")
3 #1.求出每个平台的总销售业绩,并绘制线性图,并做简单的数据分析
4 #以哪个平台为重心 趋势如何
5 grouped=df.groupby("平台")
6 df2=grouped['总销售额'].agg(np.sum).sort_values(ascending=False).head()
7 print(df2)
8 df2.plot(x='平台')

发现ps3和x360的销售额并没ps2高,但数量惊人,这俩都是新机按这数据没几年就可以赶超了

 1 import numpy as np
 2 import matplotlib as mpl
 3 mpl.rcParams['font.sans-serif'] = ['KaiTi', 'SimHei', 'FangSong']  # 汉字字体,优先使用楷体,如果找不到楷体,则使用黑体
 4 mpl.rcParams['font.size'] = 12  # 字体大小
 5 mpl.rcParams['axes.unicode_minus'] = False  # 正常显示负号
 6 #进行数据分析
 7 df=pd.read_csv("电子游戏数据.csv")
 8 #1.求出每个游戏类型的总销售业绩,并绘制线性图
 9 #市场
10 #以哪个平台为重心 趋势如何
11 grouped=df.groupby("类型")
12 df2=grouped['总销售额'].agg(np.sum).sort_values(ascending=False).head()
13 print(df2)
14 df2.plot(x='类型')

看来大家都非常喜欢动作游戏

1 #2.求出每个平台的销售业绩,排出前五名,画柱形图
2 print(df2)
3 df2.plot(kind='bar')

 

1 #游戏平台为重心 
2 from pylab import *
3 mpl.rcParams['font.sans-serif'] = ['SimHei']
4 mpl.rcParams['axes.unicode_minus'] = False
5 df=pd.read_csv("电子游戏数据.csv")
6 df = (df['平台'].value_counts())[:16].to_frame()
7 plt.figure(figsize=(15,15))
8 plt.pie(df['平台'], labels=df.index.values, autopct='%.1f%%')
9 plt.title('游戏平台占比',fontsize=20)

 

1 #3.求出每个平台在北美的平均销售业绩
2 grouped=df.groupby("平台")
3 df2=grouped['NA销售额'].agg(np.mean)
4 #print(df2)
5 df2.plot(x='平台',ylabel='平均销售业绩')

 

1 #4.求出年销售额前五名的年份和销售额,并画出柱状图
2 grouped=df.groupby("发行年份")
3 df2=grouped['总销售额'].agg(np.sum).sort_values(ascending=False).head()
4 print(df2)
5 df2.plot(kind='bar')

 

1 df2=df.groupby("发行年份")['总销售额'].agg(np.sum)
2 df2.plot()

 

1 #5.求出类别是sport的游戏在北美,欧洲,日本和其它的销售总额
2 df=pd.read_csv("电子游戏数据.csv")
3 df2=df[df['类型']=='Sports'][['NA销售额','EU销售额','JP销售额','其他地区销售额']].sum()
4 print(df2)
5 df2.plot(kind='bar',xlabel='地区',ylabel='销售总额')

 

1 #6.求出年份在1998-2008年每个发行商的销售业绩
2 df2=df[(df['发行年份']<=2008)&(df['发行年份']>=1998)]
3 df3=df2.groupby('发行商')['总销售额'].sum()
4 print(df3)
5 df3.plot(xlabel='发行商')

 

1 #7.发行商的销售业绩排名(前20),画线性图
2 df3=df.groupby('发行商')['总销售额'].sum().sort_values(ascending=False).head(20)
3 #print(df3)
4 df3.plot()

 

1 #8.每个地区最受欢迎的三类游戏
2 print(df.groupby('类型')['NA销售额'].sum().sort_values(ascending=False).head(3))
3 print(df.groupby('类型')['EU销售额'].sum().sort_values(ascending=False).head(3))
4 print(df.groupby('类型')['JP销售额'].sum().sort_values(ascending=False).head(3))
5 print(df.groupby('类型')['其他地区销售额'].sum().sort_values(ascending=False).head(3))

 

 1 my_font = font_manager.FontProperties(fname=r"c:\windows\fonts\simsun.ttc")
 2 #准备数据
 3 y_1 = sale_df['sum_sales'].values.tolist()
 4 y_2 = sale_df['NA_sum_sales'].values.tolist()
 5 y_3 = sale_df['EU_sum_sales'].values.tolist()
 6 y_4 = sale_df['JP_sum_sales'].values.tolist()
 7 y_5 = sale_df['Other_sum_sales'].values.tolist()
 8 
 9 x_1 = sale_df['发行年份'].values.tolist()
10 
11 x = range(len(x_1))
12 print(x)
13 plt.figure(figsize=(20,10),dpi=80)
14 plt.plot(x,y_1,label = '全球')
15 plt.plot(x,y_2,label = '北美')
16 plt.plot(x,y_3,label = '欧洲')
17 plt.plot(x,y_4,label = '日本')
18 plt.plot(x,y_5,label = '其他')
19 
20 #调整x轴刻度
21 _xtick_labels = ['{}年'.format(i) for i in x_1]
22 #print(list(x)[::3]) x轴坐标 0 3 6 9 ...
23 #_xtick_labels[::3]:每隔3年:1980年 1983年....
24 plt.xticks(list(x)[::3],_xtick_labels[::3],fontproperties = my_font,fontsize = 16)
25 
26 plt.xlabel('年份',fontproperties = my_font,fontsize = 16)
27 plt.ylabel('销售额',fontproperties = my_font,fontsize = 16)
28 plt.title('销售额的变化曲线',fontproperties = my_font,fontsize = 18)
29 #栅栏
30 plt.grid(alpha=0.5)
31 
32 plt.legend(prop = my_font,loc = 'upper left')
33 plt.savefig('Game_sale2.jpg')
34 plt.show()

 

1 pd=df['发行商'].value_counts().sort_values(ascending=False).head(10)
2 #设置画布尺寸
3 plt.figure(figsize=(8,8))
4 labels=pd.index
5 x=pd.values
6 x1=[0,1,0,0,0,0,0,0,0,0]
7 plt.pie(x,radius=1.0,pctdistance=0.75,labels=labels,autopct='%1.1f%%')
8 plt.pie(x1,radius=0.5,colors='w')
9 plt.title("排行前十的发行商",fontsize=16)

 

四、附完整程序源代码

  1 import pandas as pd
  2 import numpy as np
  3 import matplotlib as plt
  4 #解决中文显示问题
  5 #解决负号的显示问题
  6 from matplotlib import font_manager
  7 import matplotlib as mpl
  8 mpl.rcParams['font.sans-serif'] = ['KaiTi', 'SimHei', 'FangSong']  # 汉字字体,优先使用楷体,如果找不到楷体,则使用黑体
  9 mpl.rcParams['font.size'] = 12  # 字体大小
 10 mpl.rcParams['axes.unicode_minus'] = False  # 正常显示负号
 11 #1.导入原始数据
 12 df=pd.read_csv("vgsales.csv")
 13 #查看前五条记录
 14 df.head()
 15 #查看后五条记录
 16 df.tail()
 17 #列字段重命名
 18 df.columns=['排名','游戏名','平台','发行年份','类型','发行商','NA销售额','EU销售额','JP销售额','其他地区销售额','总销售额']
 19 df.head()
 20 #查看文件有多少行
 21 print(len(df))
 22 #查看文件的基本信息
 23 df.info()
 24 #查看文件几行几列
 25 print(df.shape)
 26 #查看文件的描述性信息
 27 print(df.describe())
 28 print(df.describe()['总销售额']['max'])
 29 #检查是否有缺失值
 30 df.isnull().any()
 31 #检查数据缺失情况
 32 import missingno as msno
 33 import matplotlib.pyplot as plt
 34 #默认只处理数值类型,include='all':全处理,'object':
 35 #df1.describe(include = 'all').T   
 36 #白线越多,空白值越多(缺失值越多)
 37 msno.matrix(df, figsize = (16, 5),labels=True)   
 38 plt.show()
 39 #计算具体缺失值
 40 def mis_val_total(df):
 41     mis_val_sum=df.isnull().sum()
 42     print(mis_val_sum)
 43     pre=mis_val_sum*100/len(df)
 44     mis_val_pre_table=pre.to_frame()
 45     mis_val_pre_table.columns=['缺失率']
 46     mis_val_pre_table=mis_val_pre_table.sort_values(by='缺失率',ascending=False,axis=0)
 47     return mis_val_pre_table
 48     
 49 mis_val_total(df)    
 50 #删除缺失值(缺失数据占总数据较少,且对数据分析的结果没有较大的影响)
 51 df=df.dropna()
 52 df.info()
 53 #改变Year数据类型
 54 df['发行年份']=df['发行年份'].astype(int)
 55 df.info()
 56 print(df[df['发行年份']>2022])
 57 print(df[df['发行年份']>2022])
 58 #进行数据分析
 59 df=pd.read_csv("电子游戏数据.csv")
 60 #1.求出每个平台的总销售业绩,并绘制线性图,并做简单的数据分析
 61 #以哪个平台为重心 趋势如何
 62 grouped=df.groupby("平台")
 63 df2=grouped['总销售额'].agg(np.sum).sort_values(ascending=False).head()
 64 print(df2)
 65 df2.plot(x='平台')
 66 import numpy as np
 67 import matplotlib as mpl
 68 mpl.rcParams['font.sans-serif'] = ['KaiTi', 'SimHei', 'FangSong']  # 汉字字体,优先使用楷体,如果找不到楷体,则使用黑体
 69 mpl.rcParams['font.size'] = 12  # 字体大小
 70 mpl.rcParams['axes.unicode_minus'] = False  # 正常显示负号
 71 #进行数据分析
 72 df=pd.read_csv("电子游戏数据.csv")
 73 #1.求出每个游戏类型的总销售业绩,并绘制线性图
 74 #以哪个平台为重心 趋势如何
 75 grouped=df.groupby("类型")
 76 df2=grouped['总销售额'].agg(np.sum).sort_values(ascending=False).head()
 77 print(df2)
 78 df2.plot(x='类型')
 79 import numpy as np
 80 import matplotlib as mpl
 81 mpl.rcParams['font.sans-serif'] = ['KaiTi', 'SimHei', 'FangSong']  # 汉字字体,优先使用楷体,如果找不到楷体,则使用黑体
 82 mpl.rcParams['font.size'] = 12  # 字体大小
 83 mpl.rcParams['axes.unicode_minus'] = False  # 正常显示负号
 84 #进行数据分析
 85 df=pd.read_csv("电子游戏数据.csv")
 86 #1.求出每个游戏类型的总销售业绩,并绘制线性图
 87 #市场
 88 #以哪个平台为重心 趋势如何
 89 grouped=df.groupby("类型")
 90 df2=grouped['总销售额'].agg(np.sum).sort_values(ascending=False).head()
 91 print(df2)
 92 df2.plot(x='类型')
 93 #2.求出每个平台的销售业绩,排出前五名,画柱形图
 94 print(df2)
 95 df2.plot(kind='bar')
 96 #游戏平台为重心 
 97 from pylab import *
 98 mpl.rcParams['font.sans-serif'] = ['SimHei']
 99 mpl.rcParams['axes.unicode_minus'] = False
100 df=pd.read_csv("电子游戏数据.csv")
101 df = (df['平台'].value_counts())[:16].to_frame()
102 plt.figure(figsize=(15,15))
103 plt.pie(df['平台'], labels=df.index.values, autopct='%.1f%%')
104 plt.title('游戏平台占比',fontsize=20)
105 #3.求出每个平台在北美的平均销售业绩
106 grouped=df.groupby("平台")
107 df2=grouped['NA销售额'].agg(np.mean)
108 #print(df2)
109 df2.plot(x='平台',ylabel='平均销售业绩')
110 #3.求出每个平台在北美的平均销售业绩
111 grouped=df.groupby("平台")
112 df2=grouped['NA销售额'].agg(np.mean)
113 #print(df2)
114 df2.plot(x='平台',ylabel='平均销售业绩')
115 df2=df.groupby("发行年份")['总销售额'].agg(np.sum)
116 df2.plot()
117 #5.求出类别是sport的游戏在北美,欧洲,日本和其它的销售总额
118 df=pd.read_csv("电子游戏数据.csv")
119 df2=df[df['类型']=='Sports'][['NA销售额','EU销售额','JP销售额','其他地区销售额']].sum()
120 print(df2)
121 df2.plot(kind='bar',xlabel='地区',ylabel='销售总额')
122 #6.求出年份在1998-2008年每个发行商的销售业绩
123 df2=df[(df['发行年份']<=2008)&(df['发行年份']>=1998)]
124 df3=df2.groupby('发行商')['总销售额'].sum()
125 print(df3)
126 df3.plot(xlabel='发行商')
127 #7.发行商的销售业绩排名(前20),画线性图
128 df3=df.groupby('发行商')['总销售额'].sum().sort_values(ascending=False).head(20)
129 #print(df3)
130 df3.plot()
131 #用户
132 #8.哪种类型的游戏最受欢迎
133 df3=df.groupby('类型')['总销售额'].sum().sort_values(ascending=False)
134 df3.plot(kind='bar',xlabel='类型',ylabel='总销售额')
135 #3、哪个游戏类型为重心?
136 df3=df.groupby('类型')['总销售额'].sum().sort_values(ascending=False)
137 df_name=df3.index.tolist()
138 df_number=df3.values.tolist()
139 fig,ax=plt.subplots(figsize=(16,10),dpi=80)
140 length=np.arange(len(df_name))
141 print(length)
142 ax.barh(length,df_number,tick_label=df_name)
143 ax.set_title("最受欢迎游戏前10名",fontsize=16)
144 ax.set_xlabel("销售额",fontsize=16)
145 for a,b in zip(length,df_number):
146     ax.text(b+40,a-0.15,b,ha="center",fontsize=12)
147  #9.每个地区最受欢迎的三类游戏
148 print(df.groupby('类型')['NA销售额'].sum().sort_values(ascending=False).head(3))
149 print(df.groupby('类型')['EU销售额'].sum().sort_values(ascending=False).head(3))
150 print(df.groupby('类型')['JP销售额'].sum().sort_values(ascending=False).head(3))
151 print(df.groupby('类型')['其他地区销售额'].sum().sort_values(ascending=False).head(3))
152 #9.每个地区最受欢迎的三类游戏
153 print(df.groupby('类型')['NA销售额'].sum().sort_values(ascending=False).head(3))
154 print(df.groupby('类型')['EU销售额'].sum().sort_values(ascending=False).head(3))
155 print(df.groupby('类型')['JP销售额'].sum().sort_values(ascending=False).head(3))
156 print(df.groupby('类型')['其他地区销售额'].sum().sort_values(ascending=False).head(3))
157 #9.每个地区最受欢迎的三类游戏
158 print(df.groupby('类型')['NA销售额'].sum().sort_values(ascending=False).head(3))
159 print(df.groupby('类型')['EU销售额'].sum().sort_values(ascending=False).head(3))
160 print(df.groupby('类型')['JP销售额'].sum().sort_values(ascending=False).head(3))
161 print(df.groupby('类型')['其他地区销售额'].sum().sort_values(ascending=False).head(3))
162 import matplotlib.pyplot as plt
163 #开发商名称
164 df=pd.read_csv('电子游戏数据.csv')
165 pf = df['平台'].value_counts().sort_values()
166 pf = pf[pf>100]
167 pf_name = pf.index.tolist()
168 #开发商开发游戏的个数
169 pf_number = pf.values.tolist()
170 #绘制条形图
171 #建立画布
172 #dpi:分辨率
173 fig,ax = plt.subplots(figsize = (16,10),dpi = 80)
174 length = np.arange(len(pf_name))
175 print(length)
176 #柱状图的绘制依靠两个命令ax.bar()、ax.barh(),其中前一个绘制出柱体是竖直的,后一个的柱体是水平的
177 #柱状图的绘制要求数据一般是整形的
178 ax.barh(length,pf_number,tick_label = pf_name)
179 ax.set_title("The top 20 of Platform",fontsize = 18)
180 ax.set_xlabel("Number",fontsize = 16)
181 # #添加数据标签
182 for a,b in zip(length,pf_number):
183     #ha:字体的水平排列方式
184     #b是显示的文本值
185     ax.text(b+40,a-0.15,b,ha = "center",fontsize = 12)
186 plt.savefig('Game_sale1.jpg')
187 plt.show()
188 df=pd.read_csv('电子游戏数据.csv')
189 df['sum_sales'] = df['总销售额'].groupby(df['发行年份']).cumsum()
190 df['NA_sum_sales'] = df['NA销售额'].groupby(df['发行年份']).cumsum()
191 df['EU_sum_sales'] = df['EU销售额'].groupby(df['发行年份']).cumsum()
192 df['JP_sum_sales'] = df['JP销售额'].groupby(df['发行年份']).cumsum()
193 df['Other_sum_sales'] = df['其他地区销售额'].groupby(df['发行年份']).cumsum()
194 df.head(10)
195 import pandas as pd
196 df=pd.read_csv('电子游戏数据.csv')
197 df['sum_sales'] = df['总销售额'].groupby(df['发行年份']).cumsum()
198 df['NA_sum_sales'] = df['NA销售额'].groupby(df['发行年份']).cumsum()
199 df['EU_sum_sales'] = df['EU销售额'].groupby(df['发行年份']).cumsum()
200 df['JP_sum_sales'] = df['JP销售额'].groupby(df['发行年份']).cumsum()
201 df['Other_sum_sales'] = df['其他地区销售额'].groupby(df['发行年份']).cumsum()
202 #去重——得到每年各个游戏的销售值
203 sale_df = df.drop_duplicates(subset=['发行年份'],keep='last')
204 sale_df.head()
205 #强制转换类型
206 sale_df['发行年份'] = sale_df['发行年份'].astype(int)
207 sale_df.head()
208 #按照年份序列排序-升序(ascending调节升序或降序)
209 sale_df = sale_df.sort_values(by="发行年份" , ascending=True)
210 sale_df.head()
211 my_font = font_manager.FontProperties(fname=r"c:\windows\fonts\simsun.ttc")
212 #准备数据
213 y_1 = sale_df['sum_sales'].values.tolist()
214 y_2 = sale_df['NA_sum_sales'].values.tolist()
215 y_3 = sale_df['EU_sum_sales'].values.tolist()
216 y_4 = sale_df['JP_sum_sales'].values.tolist()
217 y_5 = sale_df['Other_sum_sales'].values.tolist()
218 
219 x_1 = sale_df['发行年份'].values.tolist()
220 
221 x = range(len(x_1))
222 print(x)
223 plt.figure(figsize=(20,10),dpi=80)
224 plt.plot(x,y_1,label = '全球')
225 plt.plot(x,y_2,label = '北美')
226 plt.plot(x,y_3,label = '欧洲')
227 plt.plot(x,y_4,label = '日本')
228 plt.plot(x,y_5,label = '其他')
229 
230 #调整x轴刻度
231 _xtick_labels = ['{}年'.format(i) for i in x_1]
232 #print(list(x)[::3]) x轴坐标 0 3 6 9 ...
233 #_xtick_labels[::3]:每隔3年:1980年 1983年....
234 plt.xticks(list(x)[::3],_xtick_labels[::3],fontproperties = my_font,fontsize = 16)
235 
236 plt.xlabel('年份',fontproperties = my_font,fontsize = 16)
237 plt.ylabel('销售额',fontproperties = my_font,fontsize = 16)
238 plt.title('销售额的变化曲线',fontproperties = my_font,fontsize = 18)
239 #栅栏
240 plt.grid(alpha=0.5)
241 
242 plt.legend(prop = my_font,loc = 'upper left')
243 plt.savefig('Game_sale2.jpg')
244 plt.show()
245 pd=df['发行商'].value_counts().sort_values(ascending=False).head(10)
246 #设置画布尺寸
247 plt.figure(figsize=(8,8))
248 labels=pd.index
249 x=pd.values
250 x1=[0,1,0,0,0,0,0,0,0,0]
251 plt.pie(x,radius=1.0,pctdistance=0.75,labels=labels,autopct='%1.1f%%')
252 plt.pie(x1,radius=0.5,colors='w')
253 plt.title("排行前十的发行商",fontsize=16)
254 #按照游戏类型将每一处的销售额相加
255 Group =  df.groupby(['发行商']).sum().loc[:,'NA销售额':'其他地区销售额']
256 Group
257 #绘制热力图
258 my_font = font_manager.FontProperties(fname=r"c:\windows\fonts\simsun.ttc")
259 plt.figure(figsize=(8, 12))
260 
261 xlabel = ['NA销售额','EU销售额','JP销售额','其他地区销售额']
262 y = range(len(Group.index))
263 #print(y)
264 ylabel = Group.index
265 
266 #设置标注前后左右的距离
267 #imshow:绘制热图
268 # cmap是colormap的简称,⽤于指定渐变⾊,默认的值为viridis, 在matplotlib中,内置了⼀系列的渐变⾊,⽤法如下
269 # plt.imshow(data, cmap='Greens')
270 #aspect⽤于指定热图的单元格的⼤⼩,默认值为equal,此时单元格⽤于是⼀个⽅块,当设置为auto时,会根据画布的⼤⼩动态调整单元格的⼤⼩
271 #interprolation参数控制热图的显⽰形式,常见的值有None,none,nearest,sinc,bicubic
272 plt.imshow(Group, interpolation='nearest', cmap=plt.cm.pink,aspect='auto')
273 #调整x,y轴刻度
274 plt.xticks(list(range(4))[::1],xlabel[::1],fontproperties = my_font,fontsize = 12)
275 plt.yticks(list(y)[::1],ylabel[::1],fontproperties = my_font,fontsize = 12)
276 plt.xlabel('销售额',fontproperties = my_font,fontsize = 14)
277 plt.ylabel('游戏类型',fontproperties = my_font,fontsize = 14)
278 plt.colorbar(shrink=0.8)#图例通过colorbar⽅法来实现 改变Bar的长度
279 plt.title('The Heat Map of Sales',fontproperties = my_font,fontsize = 16)
280 plt.savefig('Game_sale4.jpg')
281 plt.show()
五、总结
通过比较北美、欧洲、日本和其他地区的销售额,了解了不同地区的游戏市场规模和特点。这有助于游戏开发商确定目标市场和制定相应的销售策略。我分析了不同平台上的销售额,如PC、主机和移动平台,从而了解了不同平台的用户群体和市场趋势。这对游戏开发商选择合适的游戏平台以及开发和推广策略非常重要。对于不同类型游戏的销售额,我进行了分析,从而了解了玩家对各种游戏类型的喜好。这为游戏开发商提供了关于市场需求和玩家偏好的重要信息,有助于制定合适的游戏类型和开发策略。通过分析不同发行商的销售额数据,了解了不同发行商的表现和市场份额。这有助于游戏开发商选择合适的合作伙伴,并为发行商提供关于市场需求和竞争情况的建议。通过对游戏销售额的分析,我深入了解了游戏市场和游戏产业的状况,并为游戏开发商、投资者和政府制定合理的市场策略提供了有益的参考。这种分析有助于了解市场需求、玩家喜好和竞争情况,从而推动游戏产业的健康发展。