Python+matplotlib如何绘制堆叠图
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要介绍Python+matplotlib如何绘制堆叠图,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、水平堆叠图堆叠图其实就是柱状图的一种特殊形式from matp
千家信息网最后更新 2026年11月01日Python+matplotlib如何绘制堆叠图
这篇文章主要介绍Python+matplotlib如何绘制堆叠图,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
一、水平堆叠图
堆叠图其实就是柱状图的一种特殊形式
from matplotlib import pyplot as plt plt.style.use('seaborn')plt.figure(figsize=(15,9))plt.rcParams.update({'font.family': "Microsoft YaHei"})plt.title("中国票房2021TOP9") plt.bar(cnbodfgbsort.index,cnbodfgbsort.PERSONS)plt.bar(cnbodfgbsort.index,cnbodfgbsort.PRICE)plt.bar(cnbodfgbsort.index,cnbodfgbsort.points)plt.show()堆叠图效果

可以看到有部分蓝色的数据被遮挡了,如果我们想全部展现,可以:
index_x=np.arange(len(cnbodfgbsort.index))index_xw=0.15
from matplotlib import pyplot as plt plt.style.use('classic')plt.figure(figsize=(15,9))plt.rcParams.update({'font.family': "Microsoft YaHei"})plt.title("中国票房2021TOP9")plt.bar(index_x,cnbodfgbsort.PERSONS,width=w)plt.bar(index_x+w,cnbodfgbsort.PRICE,width=w)plt.bar(index_x+2*w,cnbodfgbsort.points,width=w)plt.show()
可以看到Excel的数据源当中BO与PRICE和PERSONS的数字相差过大,如果做堆叠图的话,BO会将其他的都进行覆盖,无法显示好的效果:
因为数据相差实在太大,我们可以直接让BO除以1000:
from matplotlib import pyplot as plt plt.style.use('classic')plt.figure(figsize=(15,9))plt.rcParams.update({'font.family': "Microsoft YaHei"})plt.title("中国票房2021TOP9") plt.bar(cnbodfgbsort.index,cnbodfgbsort.PERSONS)plt.bar(cnbodfgbsort.index,cnbodfgbsort.PRICE)plt.bar(cnbodfgbsort.index,cnbodfgbsort.BO/1000)plt.bar(cnbodfgbsort.index,cnbodfgbsort.points)plt.show()from matplotlib import pyplot as plt plt.style.use('classic')plt.figure(figsize=(15,9))plt.rcParams.update({'font.family': "Microsoft YaHei"})plt.title("中国票房2021TOP9")plt.bar(index_x-w,cnbodfgbsort.BO/1000,width=w) # 直接让BO除以1000plt.bar(index_x,cnbodfgbsort.PERSONS,width=w)plt.bar(index_x+w,cnbodfgbsort.PRICE,width=w)plt.bar(index_x+2*w,cnbodfgbsort.points,width=w)plt.show()二、波浪形堆叠图
labels=['战争','爱情','动画','动作','惊悚','剧情'] colors=['tan','violet','turquoise','tomato','teal','steelblue'] plt.stackplot(cnbodfgbsort.index,cnbodfgbsort.PRICE,cnbodfgbsort.PERSONS,cnbodfgbsort.points,labels=labels,colors=colors)
labels=['战争','爱情','动画','动作','惊悚','剧情'] colors=['tan','violet','turquoise','tomato','teal','steelblue'] plt.stackplot(cnbodfgbsort.index,cnbodfgbsort.PRICE,cnbodfgbsort.BO/900,cnbodfgbsort.PERSONS,cnbodfgbsort.points,labels=labels,colors=colors)
三、加上数据标签
plt.legend()
labels=['票房','票价','人次','评分'] colors=['tan','violet','turquoise','tomato','teal','steelblue'] plt.stackplot(cnbodfgbsort.index,cnbodfgbsort.PRICE,cnbodfgbsort.BO/900,cnbodfgbsort.PERSONS,cnbodfgbsort.points,labels=labels,colors=colors)plt.legend()
以上是"Python+matplotlib如何绘制堆叠图"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
票房
数据
中国
惊悚
内容
剧情
动作
动画
战争
效果
爱情
篇文章
特殊
价值
兴趣
小伙
小伙伴
就是
形式
数字
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
什么是科技互联网
互联网的科技
科技和互联网公司
金融科技还是互联网
互联网科技视频
融贸通互联网科技
互联网金融监管科技
哈尔滨秒房互联网科技有限公司
安控科技rtu产品工业互联网
江苏南京365互联网科技
互联网科技博主是什么意思
贵州叶脉互联网科技有限公司所属行业
互联网金融科技展
洛阳共同富裕互联网科技有限公司
深圳艾果互联网通讯科技
群盈汇互联网科技有限公司
互联网安防科技感
南京一网一红互联网科技有限公司
新氧科技和美国互联网有关系吗
恒生科技互联网指数十大成分股
互联网科技卖菜
科技信息互联网
科技制造互联网公司
北京互联网科技公司
互联网 科技创业
互联网科技排名
互联网之后的科技是什么
央行互联网金融科技公司
富国互联网金融科技混合基金
银川新华互联网科技学校原画