要在数据可视化中脱颖而出,你必须知道的 8 个图表用法!
数据可视化主要旨在借助于图形化手段,清晰有效地传达与沟通信息,它与信息图形、信息可视化、科学可视化以及统计图形密切相关。
当前,在研究、教学和数据开发领域,数据可视化是一个极为活跃而又关键的方面。现代企业使用各种可视化技术来理解数据并从中获得洞察力,从而做出数据驱动的业务决策。也有很多可视化工具可用,例如 Tableau、Power BI、Looker、Qlik Sense 等等。
在本文中,我将分享8种常用的 Python 可视化图表,介绍它们的最佳使用场景,同时分享一个实战案例,欢迎大家收藏学习,喜欢点赞支持。文末提供技术交流群,欢迎畅聊。
数据可视化的必要性
当数据以简单的可视化的格式呈现时,数据更有意义并且更容易理解,因为人眼很难从原始数据中解读模式、趋势和季节性,因此,数据被可视化以了解不同参数的行为。
各种类型的图表及其用途
1. 条形图和柱形图
这是了解我们的定量领域在各种类别中的表现的最简单的图表之一,它用于比较。
从上面的柱状图可以看出,技术类的销售额较高,办公用品的销售额最少。上图是一个条形图,显示 L 类别的表现更好。
2. 散点图和气泡图
散点图和气泡图帮助我们了解变量如何分布在所考虑的范围内。它可用于识别模式、异常值的存在以及两个变量之间的关系。我们可以看到,随着折扣的增加,利润也在减少。
3. 折线图
当必须呈现与时间相关的数据时,它是首选。它最适合分析趋势。
从上图中,我们可以看到销售额在几个月内呈上升趋势,但 7 月份突然下降,而 11 月份的销售额最高。
4. 直方图
直方图是一种频率图,用于记录数据集中某个条目的出现次数。当您想了解系列的分布时,它很有用。
5. 箱线图
箱线图可以有效地总结大数据的分布。他们使用百分位数来划分数据范围。这有助于我们了解低于或高于所选数据点的数据点。它帮助我们识别数据中的异常值。箱线图将整个数据分为三类
中值——将数据分成相等的两半 IQR – 它的范围在第 25 个和第 75 个百分位值之间。 离群值 – 该数据存在显着差异并且位于须线之外。
上图中的圆圈显示了异常值的存在。
6. 子图
有时最好在同一网格中绘制不同的图以更好地理解和比较数据。
7. 甜甜圈、饼图和堆积柱形图
当我们要查找数据的组成时,下述图表是最好的。
上面的圆环图显示了不同产品类别的销售构成。
上面的饼图显示了不同年份的销售额百分比。
上面堆叠的柱状图显示了两种产品在不同季度的销售情况。
8. 热图
当我们想要检查变量之间是否存在相关性时,它是最优选的图表。这里正值表示正相关,负值表示负相关。颜色表示相关的强度,颜色越深正相关越高,颜色越浅负相关越高。
使用 Python 进行数据可视化
Python 提供了各种以图形方式理解数据的库,例如 Matplotlib 和 Seaborn 等。Anubhav 是一家以产品为基础的公司,销售不同种类的产品。让我们探索数据以找出一段时间内的销售额,哪个产品类别/子类别的销售额最高,利润与折扣增加的关系。
我们先导入相关的库。
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings ('ignore')
下一步是加载数据集
sales=pd.read_excel('Maven Supplies Raw.xlsx',skiprows=3)
sales.head(2)
探索数据
sales.info()
sales.describe()
sales.columns
图像可视化
首先,探索销售额百分比的类别组成
sales.groupby(['Category'])['Sales'].sum().plot(kind='pie',autopct='%1.2f%%')
plt.title("Sales% of different category")
plt.ylabel(" ")
plt.show();
我们可以看到,与其他类别相比,技术表现更好。数据中有很多子类别,让我们看看不同子类别的表现如何。
plt.figure(figsize=(10,3))
sales.groupby(['Sub-Category'])['Sales'].sum().sort_values(ascending=False).plot(kind='bar',color='seagreen')
plt.show();
我们可以看到,手机的销量最高。不同地区的销售额会有所不同, 让我们来看看
sales.groupby(['Region'])['Sales'].sum().sort_values(ascending=False).plot(kind='bar',color='seagreen')
plt.show();
西部地区销量高,南部地区销量最低。现在让我们看看各地区的利润表现如何
sales.groupby(['Region'])['Profit'].sum().sort_values(ascending=False).plot(kind='bar',color='seagreen')
plt.show();
与中部地区相比,在销售方面表现最差的南部地区表现更好。热图让我们更好地了解不同变量如何相互关联。
plt.figure(figsize = (10, 5))
sns.heatmap(sales.corr(),annot=True,cmap="summer")
plt.show()
很明显,折扣与利润呈负相关。让我们解读一下折扣增加对利润的影响。
sns.scatterplot(x = 'Discount', y='Profit', data = sales ,color='seagreen')
plt.show;
我们可以看到,随着折扣的增加,利润也在减少。销售额不是恒定的,它会根据各种因素增加或减少。让我们看看销售在不同月份的表现如何。
sales.groupby(['month'])['Sales'].sum().plot(kind='line',color='seagreen')
因此,我们可以说可视化说了很多,它总会有一些故事可以讲述,这有助于企业做出数据驱动的决策。
结论
在本文中,我们讨论了各种图形及其用途、处理了一个数据集,以及如何使用 Python 库来可视化数据并从中理解。通过可视化,我们很容易了解数据中的隐藏模式或趋势。通过几个例子,我们可以看到图表有助于比较、容易理解。
●Pendulum:可能是最好的 Python DateTime 库!
长按或扫描下方二维码,后台回复:加群,可申请入群。一定要备注:入群+地点+学习/公司。例如:入群+上海+复旦。
感谢你的分享,点赞,在看三连