人类是地球上最具创造力的物种。从史前时代的洞穴壁画到现代艺术,艺术的形式一直在演变。例如,Bhimbetka洞穴壁画为提供了当时人们生活的深刻见解。视觉艺术的起源可以追溯到石器时代。
作为第四次工业革命的一代,见证了艺术和创造力在各个领域和形式上的发展。现在,有了各种工具和编程语言,它们帮助使用可视化的艺术来解决复杂的商业问题。
现代商业使用各种可视化技术来理解数据,并从中获得洞察,以便做出数据驱动的商业决策。现在有很多可视化工具可供选择,如Tableau、Power BI、Looker、Qlik Sense等。本文将涵盖使用Python的各种图表类型。
当数据以简单和可视化的格式呈现时,更容易理解,因为人眼很难从原始数据中识别出模式、趋势和季节性。因此,数据被可视化以理解不同参数的行为。
1. 条形图和柱状图:这是最简单的图表之一,用于了解定量领域在不同类别中的表现。它用于比较。从上面的柱状图中,可以看到技术产品的销售量最高,办公用品的销售量最低。上面显示的图表是一个条形图,显示L类别的表现更好。
2. 散点图和气泡图:散点图和气泡图帮助了解变量是如何在考虑的范围内分布的。它可以用来识别模式、异常值的存在以及两个变量之间的关系。可以看到,随着折扣的增加,利润在减少。上面显示的图表是一个气泡图。
3. 折线图:当需要呈现时间依赖的数据时,这是首选。它最适合分析趋势。从上面的图表中,可以看到销售量在几个月内一直在增加,但在7月份突然下降,11月份销售量最高。
4. 直方图:直方图是一种频率图表,记录数据集中一个条目的出现次数。当想要了解一系列数据的分布时,它很有用。
5. 箱线图:箱线图有效地总结了大数据的分布。它们使用百分位数来划分数据范围。这有助于了解落在选定数据点以下或以上的数据点。它帮助识别数据中的异常值。箱线图将整个数据分为三类:* 中位数值 - 它将数据分为两个相等的一半 * IQR - 它介于第25个和第75个百分位值之间。* 异常值 - 这些数据显著不同,位于须之外。上面的图表中的圆圈显示了异常值的存在。
6. 子图:有时,在同一个网格中绘制不同的图表以更好地理解和比较数据是更好的。在这里,可以看到,在单个图表中,能够了解不同地区在一段时间内的销售情况。
7. 甜甜圈图、饼图和堆叠柱状图:当想要找到数据的组成时,上述图表是最好的。上面的甜甜圈图显示了不同产品类别的销售组成。上面的饼图显示了不同年份销售的百分比。上面的堆叠柱状图显示了两种产品在不同季度的销售情况。
8. 热图:当想要检查变量之间的相关性时,这是最受欢迎的图表。这里的正值显示正相关,负值显示负相关。颜色表示相关性的强度,颜色越深表示正相关性越高,颜色越浅表示负相关性越高。
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.shape
(9994, 24)
# 检查数据框架的列信息
sales.info()
# 检查数值列的摘要
sales.describe()
sales.columns
现在对可用的数据有了更好的了解,让将其可视化以获得更好的理解。
# 首先,探索类别的组成和销售百分比
sales.groupby(['Category'])['Sales'].sum().plot(kind='pie', autopct='%1.2f%%')
plt.title("不同类别的销售百分比")
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')
如前所述,它显示出一个模式,11月份销售量最高,2月份最低。
# 销售量高并不一定意味着利润也会显示出类似的模式。让看看利润是如何随时间变化的。这可能是由于像散点图中看到的那样,以折扣销售产品。
sales.groupby(['month'])['Profit'].sum().plot(kind='line', color='seagreen')
we can see that profits are high during the month of September and lowest during the month of July.
销售量可能会随着年份的增加或减少而显示出增加或减少的模式。
# 可以看到,2016年销售量呈下降趋势,而在所有年份中都在增长。
sales.groupby(['year'])['Sales'].sum().plot(kind='line', color='seagreen')
plt.xticks([2015, 2016, 2017, 2018])
plt.show()
从数据集中,了解到手机占据了销售的主要部分,西部地区贡献了最高的销售和利润。随着时间的推移,销售量增加,但随着折扣的增加,利润显示出下降趋势。看到有特定的月份见证了最高的销售和利润。
因此,可以说,可视化讲述了很多故事,它总是有助于企业做出数据驱动的决策。
在本文中,讨论了各种类型的图表及其用途。处理了一个数据集,了解如何使用Python库来可视化数据并理解它。因此,可以说,通过可视化,很容易识别出数据中隐藏的模式或趋势。通过一些例子,看到图表有助于比较,最重要的是,它很容易理解。
感谢阅读!!!
希望喜欢阅读这篇文章,并增加了对各种类型图表及其用途的知识。