数据可视化的艺术与实践

人类是地球上最具创造力的物种。从史前时代的洞穴壁画到现代艺术,艺术的形式一直在演变。例如,Bhimbetka洞穴壁画为提供了当时人们生活的深刻见解。视觉艺术的起源可以追溯到石器时代。

作为第四次工业革命的一代,见证了艺术和创造力在各个领域和形式上的发展。现在,有了各种工具和编程语言,它们帮助使用可视化的艺术来解决复杂的商业问题。

现代商业使用各种可视化技术来理解数据,并从中获得洞察,以便做出数据驱动的商业决策。现在有很多可视化工具可供选择,如Tableau、Power BI、Looker、Qlik Sense等。本文将涵盖使用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.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库来可视化数据并理解它。因此,可以说,通过可视化,很容易识别出数据中隐藏的模式或趋势。通过一些例子,看到图表有助于比较,最重要的是,它很容易理解。

感谢阅读!!!

希望喜欢阅读这篇文章,并增加了对各种类型图表及其用途的知识。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485