【Python统计图】-百分比堆积图

import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns


#这里设置的两种类别下的两个堆积数量
UM = [15, 8]
H = [46, 92]
#设置存储图片的输出路径
out_path=r'E:\PP50.jpg'

#设置总体风格
sns.set(style="white")
plt.rcParams['font.family'] = 'Times New Roman'

#开始绘制
# 计算百分比
total_UM = sum(UM)
total_H = sum(H)
UM_percent = [x / total_UM * 100 for x in UM]
H_percent = [x / total_H * 100 for x in H]
data = np.array([UM_percent, H_percent])

# 设置图形
labels = ['Lower', 'Higher']
categories = ['UM', 'H']


fig, ax = plt.subplots(figsize=(3, 5))
ax.bar(categories, data[:, 0], label=labels[0], color=(169/255,136/255,243/255),width=0.3,alpha=1)
ax.bar(categories, data[:, 1], bottom=data[:, 0], label=labels[1], color=(161/255,205/255,250/255),width=0.3)

# 添加标签和标题
ax.set_ylabel('Percentage', fontsize=15)
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)
plt.xticks(fontsize=12)
plt.yticks(fontsize=12)
ax.legend(loc='upper right',fontsize='15',frameon=False,bbox_to_anchor=(1.65, 1))


# 显示图形
plt.savefig(out_path)
plt.show()

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值