python 条形图 stack_python matplotlib模块: stackplot(堆叠图)

堆叠图可以很方便的比较数据间不同情况下的差异(分工比例等)。

数据集:

# 初始化横坐标的所有值(这里表示为时间的变化)

minutes = [1, 2, 3, 4, 5, 6, 7, 8, 9]

# 初始化所有不同数据集纵坐标表示的值(可以表示团队个人一天工作时间的分配)

player1 = [8, 6, 5, 5, 4, 2, 1, 1, 0]

player2 = [0, 1, 2, 2, 2, 4, 4, 4, 4]

player3 = [0, 1, 1, 1, 2, 2, 3, 3, 4]

源码:

from matplotlib import pyplot as plt

# 使用fivethirtyeight这个超漂亮的风格

plt.style.use("fivethirtyeight")

# 初始化横坐标的所有值(这里表示为时间的变化)

minutes = [1, 2, 3, 4, 5, 6, 7, 8, 9]

# 初始化所有不同数据集纵坐标表示的值(可以表示团队个人一天工作时间的分配)

player1 = [8, 6, 5, 5, 4, 2, 1, 1, 0]

player2 = [0, 1, 2, 2, 2, 4, 4, 4, 4]

player3 = [0, 1, 1, 1, 2, 2, 3, 3, 4]

labels = ['player1', 'player2', 'player3']

colors = ['#6d904f', '#fc4f30', '#008fd5']

# stackplot的特点就是可易很方便的看出不同数据集之间每一个特定点的差异

# 注意传入的多个可迭代对象的维度应该相同

plt.stackplot(minutes, player1, player2, player3, labels=labels, colors=colors)

# legend接受loc参数可以改变显示标签的放置位置, 可以用一个元组加两个数来表示距离坐标轴原点的百分比距离,\

# 也可以使用字符串表示:

'''

best

upper right

upper left

lower left

lower right

right

center left

center right

lower center

upper center

center

例: plt.legend(loc='upper left')

'''

plt.legend(loc=(0.07, 0.05))

plt.title("First Stack Plot")

# 美化输出

plt.tight_layout()

plt.show()

# Colors:

# Blue = #008fd5

# Red = #fc4f30

# Yellow = #e5ae37

# Green = #6d904f

运行结果:

d1d7f4013927

图片.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值