前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >趋势(三)利用python绘制堆叠面积图

趋势(三)利用python绘制堆叠面积图

作者头像
HsuHeinrich
发布2024-11-23 08:47:55
发布2024-11-23 08:47:55
9100
代码可运行
举报
文章被收录于专栏:HsuHeinrichHsuHeinrich
运行总次数:0
代码可运行

趋势(三)利用python绘制堆叠面积图

堆叠面积图(Stacked area Chart)简介

堆叠式面积图的原理与简单面积图相同,但它能同时显示多个数据系列,适合用来比较同一间隔内多个变量的变化。缺点则是单个变量的变化不明显。

快速绘制

基于matplotlib

代码语言:javascript
代码运行次数:0
复制
import numpy as np
import matplotlib.pyplot as plt

# 自定义数据
x=range(1,6)
y1=[1,4,6,8,9]
y2=[2,2,7,10,12]
y3=[2,8,5,10,6]
 
# 利用stackplot绘制堆叠面积图
plt.stackplot(x,y1, y2, y3, labels=['A','B','C'])
plt.legend(loc='upper left')
plt.show()

基于pandas

代码语言:javascript
代码运行次数:0
复制
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

# 自定义数据
y = [[1,4,6,8,9], [2,2,7,10,12], [2,8,5,10,6]]
df = pd.DataFrame(y).T
df.columns = ['A', 'B', 'C']

# 利用area函数绘制堆叠面积图
df.plot.area()

plt.show()

定制多样化的堆叠面积图

自定义堆叠面积图一般是结合使用场景对相关参数进行修改,并辅以其他的绘图知识。参数信息可以通过官网进行查看,其他的绘图知识则更多来源于实战经验,大家不妨将接下来的绘图作为一种学习经验,以便于日后总结。

代码语言:javascript
代码运行次数:0
复制
import matplotlib as mpl
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
import pandas as pd

plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签

# 初始化布局
fig = plt.figure(figsize=(12,3))

# 自定义颜色
x = range(1,6)
y = [ [10,4,6,5,3], [12,2,7,10,1], [8,18,5,7,6] ]

plt.subplot(1, 2, 1) 
pal = sns.color_palette("Set1")
plt.stackplot(x,y, labels=['A','B','C'], colors=pal, alpha=0.4 )
plt.legend(loc='upper right')
plt.title('自定义颜色')

# 百分比堆积图
data = pd.DataFrame({  'group_A':[1,4,6,8,9], 'group_B':[2,24,7,10,12], 'group_C':[2,8,5,10,6], }, index=range(1,6))
data_perc = data.divide(data.sum(axis=1), axis=0) # 利用divide转为百分比数据

plt.subplot(1, 2, 2)
plt.stackplot(range(1,6),  data_perc["group_A"],  data_perc["group_B"],  data_perc["group_C"], labels=['A','B','C'])
plt.legend(loc='upper left')
plt.title('百分比堆积图')

plt.show()

总结

以上通过matplotlib和pandas快速绘制堆叠面积图。并通过修改参数或者辅以其他绘图知识自定义各种各样的堆叠面积图来适应相关使用场景。

共勉~

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-11-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 HsuHeinrich 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 趋势(三)利用python绘制堆叠面积图
    • 堆叠面积图(Stacked area Chart)简介
    • 快速绘制
    • 定制多样化的堆叠面积图
    • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档