游戏销售情况数据可视化分析笔记②

目录

参考来源

代码及学习笔记

数据可视化的不同类型图

全球销量扇形图

发行数分布条形图

游戏分类计数图

各国家不同游戏类型销售热图

各国家不同游戏类型销售条形图

各平台各地区销售额条形图

 区别两个概念:直方图(Histogram)和条形图(Bar Chart)

直方图(Histogram)

条形图(Bar Chart)

区别总结:


参考来源

Global Video Game Sales of Data Analysis (kaggle.com)

代码及学习笔记

数据可视化的不同类型图

全球销量扇形图
top_platform = df[['Platform', 'Global_Sales',]].groupby('Platform').sum().sort_values(by='Platform', ascending=True)
top_platform.head(10).plot(kind='pie', subplots=True, figsize=(12,10),title='Global Sales per Platform',autopct='%1.0f%%') 
#pie就是饼图,subplots代表子图,autopct是每个扇区所占比例的格式化字符串
发行数分布条形图
df['Year'].plot(kind='hist',bins=50, figsize=(12,7),title='G Release Distribution') 
#年份直方图,bins指定直方图中的箱子(bin)数量,表示数据范围的条形。
游戏分类计数图
plt.figure(figsize=(12, 7))
plt.title('Selling Games by Genre')
sns.countplot(data=df, x='Genre', order=df['Genre'].value_counts().index, palette='Set2')
#sns.countplot: 是Seaborn库中的一个函数,用于绘制计数图
#order用于指定条形图的顺序
#index属性返回Series的索引,即类别的列表,这将用于设置条形图的顺序。
#palette='Set2': 这个参数用于指定颜色方案。Seaborn提供了多种预设的颜色方案,'Set2'是其中之一,它是一个包含多种颜色的色板。
plt.show()
各国家不同游戏类型销售热图
comp = df[['Genre', 'NA_Sales', 'EU_Sales', 'JP_Sales']]
comp_map = comp.groupby(by=['Genre']).sum()#各国家销售按照游戏类型分组求和汇总

plt.figure(figsize=(12, 7))
sns.set(font_scale=1)#设置图表样式字体大小
sns.heatmap(comp_map, annot=True, fmt = '.1f')#绘制热图
#annot=True: 热图中的每个单元格显示对应的数值
#fmt='.1f': 单元格中的数值格式化为一个浮点数,保留一位小数。
plt.xticks(fontsize=100)#设置 x 轴刻度标签的字体大小为 10
plt.yticks(fontsize=10)
plt.show()
各国家不同游戏类型销售条形图
#数据处理
comp_table = comp_map.reset_index()#将DataFrame的索引重置回默认整数索引
comp_table = pd.melt(comp_table, id_vars=['Genre'], value_vars=['NA_Sales', 'EU_Sales', 'JP_Sales'], var_name='Sale_Area', value_name='Sale_Price')
#melt函数,用于将长格式的DataFrame转换为宽格式
#id_vars指定了在转换过程中保持不变的列。
#value_vars指定了想要melt的列,这些列的值将被转换到新的行中。
#(个人理解:这步操作类似Excel数据可视化将某个列字段拉到行字段,在每个地区Area之下又细分了不同的游戏类别,可以看图去理解。)
comp_table.head()
#预览前五行这里显示的就是NA地区5个不同类型游戏的销售

#数据可视化
plt.figure(figsize=(12, 7))
sns.barplot(data=comp_table, x='Sale_Area', y='Sale_Price', hue='Genre')
#hue用于根据列的值对条形进行分组,并为每个组分配不同的颜色
plt.title('Sales by Genre and Area')
plt.xlabel('Sale Area')
plt.ylabel('Sales')
plt.show()
各平台各地区销售额条形图
#数据处理
comp_platform = df[['Platform', 'NA_Sales', 'EU_Sales', 'JP_Sales']]#地区和平台数据框
comp_platform.head()#预览前五行
comp_platform = comp_platform.groupby(by=['Platform']).sum().reset_index()#按平台分组并对各个地区销售求和,对索引重新排序
comp_platform = pd.melt(comp_platform, id_vars=['Platform'], value_vars=['NA_Sales', 'EU_Sales', 'JP_Sales'], var_name='Sale_Area', value_name='Sale_Price')
#不同平台下,各地区的销售额
comp_platform.head()

#数据可视化
plt.figure(figsize=(12, 7))
sns.barplot(data=comp_platform, x='Platform', y='Sale_Price', hue='Sale_Area')
plt.title('Sales by Area and Platform')
plt.xlabel('Platform')
plt.ylabel('Sales')
plt.xticks(rotation=90)
#将x轴上的刻度标签旋转90度
plt.show()

 区别两个概念:直方图(Histogram)和条形图(Bar Chart)

直方图(Histogram)
  1. 用途:直方图用于展示连续数据的分布情况,特别是展示数据的频率分布。
  2. 数据类型:适用于连续数据,数据被分组到称为“箱子”(bins)的区间内。
  3. 形状:直方图的条形是连续的,条形的边缘是平滑的。
  4. 条形宽度:条形的宽度通常相等,表示数据区间的宽度。
  5. 条形高度:表示每个区间内数据的频率或数量。
  6. 特点:直方图可以显示数据的集中趋势、偏斜性以及分布的形态。
条形图(Bar Chart)
  1. 用途:条形图用于比较不同类别的数据。
  2. 数据类型:适用于离散数据,每个条形代表一个类别或分组。
  3. 形状:条形图的条形是分开的,每个条形之间有明显的间隔。
  4. 条形宽度:条形的宽度可以根据需要调整,通常用于使图表更易于阅读。
  5. 条形高度:表示每个类别的数值大小。
  6. 特点:条形图易于比较不同类别之间的数值大小,可以清晰地展示类别之间的差异。
区别总结:
  • 数据类型:直方图用于连续数据,条形图用于离散数据。
  • 条形表示:直方图的条形是连续的,条形图的条形是分开的。
  • 条形宽度:直方图的条形宽度通常相等,表示数据区间;条形图的条形宽度可以不同,用于区分类别。
  • 目的:直方图用于展示数据分布,条形图用于比较不同类别的数值。

选择使用直方图还是条形图通常取决于数据的性质和分析的目的。直方图更适合分析数据的分布特征,而条形图更适合比较不同类别的数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值