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()
【Python统计图】-百分比堆积图
于 2024-07-21 15:31:31 首次发布