当前位置:首页>python>python数据可视化技巧的100个练习 -- 36. 绘制绩效目标的子弹图

python数据可视化技巧的100个练习 -- 36. 绘制绩效目标的子弹图

  • 2026-09-10 12:09:07
python数据可视化技巧的100个练习 -- 36. 绘制绩效目标的子弹图
重要性★★★★☆
难度★★★☆☆
您是一家零售公司的数据分析师。您的经理要求您创建一个子弹图,以可视化不同部门的绩效目标。该图表应显示实际绩效、目标以及范围(差、一般和优秀)。数据应在代码中生成。
创建一个 Python 脚本,生成必要的数据,并使用子弹图进行可视化。

【数据生成代码示例】

import pandas as pdimport numpy as np# 生成样本数据data = pd.DataFrame({    'Department': ['Sales', 'Marketing', 'HR', 'IT', 'Finance'],    'Actual': np.random.randint(50, 100, size=5),    'Target': np.random.randint(70, 90, size=5),    'Poor': [60] * 5,    'Satisfactory': [80] * 5,    'Good': [100] * 5})data

【图表答案】

【代码答案】

import matplotlib.pyplot as plt import pandas as pd import numpy as np # 生成样本数据 data = pd.DataFrame({     'Department': ['Sales', 'Marketing', 'HR', 'IT', 'Finance'],     'Actual': np.random.randint(50, 100, size=5),     'Target': np.random.randint(70, 90, size=5),     'Poor': [60] * 5,     'Satisfactory': [80] * 5,     'Good': [100] * 5 }) # 创建子弹图 fig, ax = plt.subplots(figsize=(10, 6)) for idx, row in data.iterrows():     ax.broken_barh([(0, row['Poor'])], (idx - 0.4, 0.8), facecolors='red')     ax.broken_barh([(row['Poor'], row['Satisfactory'] - row['Poor'])], (idx - 0.4, 0.8), facecolors='yellow')     ax.broken_barh([(row['Satisfactory'], row['Good'] - row['Satisfactory'])], (idx - 0.4, 0.8), facecolors='green')     ax.broken_barh([(0, row['Actual'])], (idx - 0.2, 0.4), facecolors='blue')     ax.plot(row['Target'], idx, 'o', color='black') ax.set_yticks(range(len(data))) ax.set_yticklabels(data['Department']) ax.set_xlabel('Performance') ax.set_title('Department Performance Targets') plt.show()
在 Python 中创建子弹图时,我们首先使用 pandas 和 numpy 生成样本数据。数据包括部门名称、实际绩效、目标绩效以及差、一般和优秀绩效的范围。
然后,我们使用 matplotlib 创建子弹图。broken_barh 函数用于创建不同绩效范围的水平条形。facecolors 参数用于设置不同范围的颜色:差用红色,一般用黄色,优秀用绿色。
对于实际绩效,我们使用较窄的蓝色条形将其与绩效范围区分开来。目标绩效使用 plot 函数以黑色圆点标记。
y 轴标记为部门名称,x 轴表示绩效。图表标题设置为“部门绩效目标”。
这种可视化方式有助于快速比较每个部门的实际绩效与目标以及预定义的绩效范围。

【小知识】

子弹图由 Stephen Few 引入,旨在替代仪表板上的仪表和计量器。它们更节省空间,并且能更清晰地展示绩效数据。子弹图特别适用于商业仪表板,用于可视化关键绩效指标(KPI)。

最新文章

随机文章