Matplotlib数据可视化之堆叠图、饼图(plt.stackplot\plt.pie)

堆叠图plt.stackplot()

先来了解一下堆叠图
某网站给堆叠图给出如下解释:

柱形图和面积图可以设置成堆叠的形式,堆叠后同一个分类下的数据不再是水平依次排列而是依次从上到下堆叠在一起。
堆叠有两种形式,普通的堆叠和按百分比堆叠;普通堆叠是按照数值大小依次堆叠,百分比堆叠是按照数值所占百分比进行堆叠。

简而言之,堆叠图就是将数据按照百分比或者数据大小由上到下堆叠在一起形成的图表;

下面我们就从python数据化的角度讨论一下如何让他可视化…
码上…

import matplotlib.pyplot as plt

fig,ax=plt.subplots()

days=[1,2,3,4,5,6,7,8,9,10,11,12]
sleeping=[2,3,5,3,4,1,6,3,4,2,2,6]
learn=[3,5,1,2,5,6,3,4,6,3,1,2]
eat=[1,2,5,3,8,4,1,2,10,3,3,6]
colors=['red','green','yellow']

plt.xlabel('day_times')
plt.ylabel('items')
plt.title('some_days_items_times')
ax.stackplot(days,eat,sleeping,learn,colors=colors)

plt.legend()
plt.show()

还是来逐行解释:

import matplotlib.pyplot as plt

fig,ax=plt.subplots()

该部分参照前几篇,很简单不再解释…

days=[1,2,3,4,5,6,7,8,9,10,11,12]
sleeping=[2,3,5,3,4,1,6,3,4,2,2,6]
learn=[3,5,1,2,5,6,3,4,6,3,1,2]
eat=[1,2,5,3,8,4,1,2,10,3,3,6]
colors=['red','green','yellow']

保存有关数据

注意.易错点
对数据保存时要根据堆叠图的优势进行合理保存数据
(数据纯属捏造,不喜勿喷!)

plt.xlabel('day_times')
plt.ylabel('items')
plt.title('some_days_items_times')

这些是对坐标轴的横纵坐标名以及坐标标题的命名

ax.stackplot(days,eat,sleeping,learn,colors=colors)

这行代码是该段代码的关键部分----生成堆叠图的关键代码
具体参数如下:

matplotlib.pyplot.stackplot(x, *args, labels=(), colors=None, baseline='zero', data=None, **kwargs)

解释如下:
X:设置横坐标需要的盒子
*args:注意该参数不单单是一个数据,它包含需要显示的所有数据,依次用英文逗号隔开
Labels:图表中各项数据的标签
colors:每项数据的颜色,用[ 列表 ]表示出来

plt.legend()
plt.show()

引出标签和图标到用户界面;
最终的效果图如下:
在这里插入图片描述

饼图plt.pie()

这个比较简单,码上…

import matplotlib.pyplot as plt

fig,ax=plt.subplots()

data=[20,32,20,28]
colors=['red','green','yellow','purple']
items=['A','B','C','D']
plt.title('some_data!')
ax.pie(data,colors=colors,labels=items,startangle=9,shadow=True,explode=(0,0,1,0))
plt.legend()
plt.show()

下面来分析…

import matplotlib.pyplot as plt

fig,ax=plt.subplots()

参照上文不再解释…

data=[20,32,20,28]
colors=['red','green','yellow','purple']
items=['A','B','C','D']

对需要用到的数据保存

plt.title('some_data!')

图标的标题…

ax.pie(data,colors=colors,labels=items,startangle=9,shadow=True,explode=(0,0,1,0))

饼图的关键语句,参数如下:

plt.pie(date,labels=activities,colors=cols,startangle=90,shadow=True,explode=(0,0,0,0),autopct=%1.1f%%")

data:需要的数据
labels:各个部分的标题
colors:各个部分的颜色
startangle:饼图的其实角度
shadow:是否呈现立体阴影
explode:是否突出显示,格式如上,“1”时为是

plt.legend()
plt.show()

将标题、图标引出界面…
下面是最终的效果图:
在这里插入图片描述
以上…
如果有帮助记得评论告诉我,点赞收藏

加关注哦

!!!
持续更新…

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值