数据可视化之堆叠面积图(原理+Python代码)

目录

    • 一、原理介绍
    • 二、代码实现
    • 三、结果解释

一、原理介绍

面积图,又称区域图,可以看成是进行颜色填充后的折线图。这种图形不仅可以展示数据的波动和趋势,其围成的面积还可以直观地反映数据量的大小。面积图可分为两种,一般面积图和堆叠面积图。二者的差别如下:

  • 一般面积图:图中所有的数据都按照实际值绘制,即从相同的零轴开始。
  • 堆叠面积图:每一个变量的起点不同,依次在前一个变量的数值上进行叠加。图形的总面积表现为各个变量值的总量。通过比较不同颜色的面积块,可以得出不同的变量在数值上的差异,对应面积块越大的变量,其数值也越大。

下面是堆叠面积图的代码实现过程,数据来源于某上市企业2000年至2017年的资产负债率和营业收入增长率(已标准化),用于比较这两个指标的波动情况和数值差异。

二、代码实现

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import warnings
warnings.filterwarnings("ignore") #过滤掉警告的意思
data=pd.read_csv("F:/data/company2.csv",encoding='gbk')
data.head()
证券简称 年份 资产负债率 营业收入增长率
0 珠江实业 2000 0.830264 0.223343
1 珠江实业 2001 0.835580 0.254421
2 珠江实业 2002 0.894282 0.349321
3 珠江实业 2003 0.920872 0.357599
4 珠江实业 2004 0.897639 0.355890
#图片显示中文
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] =False #减号unicode编码
x  = data['年份'].values.tolist()
y1 = data['资产负债率'].values.tolist()
y2 = data['营业收入增长率'].values.tolist()
y = np.vstack([y1, y2])
fig, ax = plt.subplots(1,1,figsize=(16, 9), dpi= 80) #设置图片大小
columns = data.columns[2:] #提取第三列及之后的列名
labs = columns.values.tolist() #设置图片显示的标签

ax = plt.gca()
ax.stackplot(x, y, labels=labs,alpha=0.8)

#图片标题
ax.set_title('堆叠面积图', fontsize=18)

#设置坐标轴取值范围
ax.set(ylim=[0, 1.5])
ax.legend(fontsize=10, ncol=4)
plt.xticks(x[::1], fontsize=10, horizontalalignment='center')
plt.yticks(np.arange(0.2,0.4,0.6,0.8,1.0,1.2,1.4), fontsize=10)
plt.xlim(x[0], x[-1])

plt.show()

数据可视化之堆叠面积图(原理+Python代码)_第1张图片

三、结果解释

从图中可以看出,该上市企业的资产负债率营业收入增长率的变化趋势基本上一致。并且,资产负债率对应的面积更大(图中蓝色部分),即资产负债率的数值相对更大。

你可能感兴趣的:(数据可视化,可视化,数据可视化,python,数据分析,机器学习)