no message

This commit is contained in:
Cricial
2026-06-17 13:01:05 +08:00
parent a69e272e43
commit b74490c4fa
23 changed files with 222 additions and 335 deletions

48
绘制图.py Normal file
View File

@@ -0,0 +1,48 @@
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = 'SimHei'
import matplotlib.pyplot as plt
import numpy as np
# 数据
risk_levels = ["高风险", "次高风险", "次低风险", "低风险"]
material = [41.7, 34.0, 58.3, 36.8]
equipment = [16.7, 18.0, 8.3, 10.5]
design = [37.5, 38.0, 33.3, 31.6]
manufacturing = [4.2, 10.0, 0.0, 21.1]
# 设置柱状图位置
x = np.arange(len(risk_levels))
width = 0.6
# 绘制堆叠柱状图
fig, ax = plt.subplots(figsize=(10,6))
bars_material = ax.bar(x, material, width, label="材料", color="#1f77b4")
bars_equipment = ax.bar(x, equipment, width, bottom=material, label="设备", color="#ff7f0e")
bars_design = ax.bar(x, design, width, bottom=np.array(material)+np.array(equipment), label="设计", color="#2ca02c")
bars_manufacturing = ax.bar(x, manufacturing, width, bottom=np.array(material)+np.array(equipment)+np.array(design), label="制造封测", color="#d62728")
# 添加柱内比例标签
for i in range(len(x)):
# 材料
ax.text(x[i], material[i]/2, f"{material[i]:.1f}%", ha='center', va='center', color='white', fontsize=10)
# 设备
ax.text(x[i], material[i]+equipment[i]/2, f"{equipment[i]:.1f}%", ha='center', va='center', color='white', fontsize=10)
# 设计
ax.text(x[i], material[i]+equipment[i]+design[i]/2, f"{design[i]:.1f}%", ha='center', va='center', color='white', fontsize=10)
# 制造封测
if manufacturing[i] > 0:
ax.text(x[i], material[i]+equipment[i]+design[i]+manufacturing[i]/2, f"{manufacturing[i]:.1f}%", ha='center', va='center', color='white', fontsize=10)
# 图表美化
ax.set_xticks(x)
ax.set_xticklabels(risk_levels)
ax.set_ylabel("占比 (%)")
ax.set_title("各风险等级企业结构占比(堆叠柱状图)")
ax.legend()
ax.set_ylim(0, 120)
ax.grid(axis='y', linestyle='--', alpha=0.7)
plt.tight_layout()
plt.show()