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

本文介绍了堆叠面积图的原理,与一般面积图的区别,并提供了使用Python进行堆叠面积图的代码实现,通过分析某上市企业2000年至2017年资产负债率和营业收入增长率,揭示了两者波动趋势及数值差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、原理介绍

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

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

下面是堆叠面积图的代码实现过程,数据来源于某上市企业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珠江实业20000.8302640.223343
1珠江实业20010.8355800.254421
2珠江实业20020.8942820.349321
3珠江实业20030.9208720.357599
4珠江实业20040.8976390.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()

在这里插入图片描述

三、结果解释

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值