如何绘制绩效与目标对比图?

如果您有一个想要在一年中实现的收入目标,那么可视化您每个月的目标执行情况就非常重要。 目标绩效 这些图表帮助我了解自己每个月的表现,以及在年底时超额完成了多少任务。

목표 대비 실적 그래프

今天 使用 R 可视化收入目标和月度绩效完整的代码在帖子的最下方,如果您想马上看到上面的图片,只需复制并粘贴即可。

1. 创建目标和绩效数据

首先,我们将生成每个月的目标和绩效数据。我们将创建这样的数据:目标每月持续增长,绩效比目标略有增长,最终超出年度目标 10%。

# 加载所需软件包
library(ggplot2) # 加载 ggplot2 软件包,使用函数绘制图形。
library(scales) # 加载 scales 软件包以方便设置坐标轴,如数字格式(如添加逗号)。

生成 # 数据
set.seed(123) # 使用 set.seed() 函数固定随机数的种子,这样每次运行都能得到相同的随机结果。
months <- 1:12 # 在月份变量中存储 1 到 12 的数字,表示 12 个月。
monthly_goal <- 1000000 # 将每月销售目标设为 1,000,000 韩元。
goals <- cumsum(rep(monthly_goal, 12)) # 通过计算目标的累计总数,将年度目标表示为各月的累计总和。

# 成绩乘以高于目标 51 TP3T 至 151 TP3T 的随机数,得到累计总数。
achievements <- cumsum(goals * runif(12, min = 1.05, max = 1.15))

创建 # 数据框
data <- data.frame(
    Month = factor(months, levels = months, labels = month.name), # 通过将 1 到 12 的值转换为月份名称(如 1 月、2 月)来创建一列 Month。
    目标 = goals, # 在目标列中存储每个月的累计目标。
    Achievement = 成就 # 在成就列中存储每个月的累计成就。
)

# 计算年度目标和成就的总和
annual_goal <- tail(goals, 1)[[1]]        # 将年度目标设置为目标中的最后一个值(即累计总数中的最后一个值)。
annual_achievement <- tail(achievements, 1)[[1]]  # 将年度成就设置为成就的最后一个值(即累计总数的最后一个值)。
achievement_rate <- (annual_achievement / annual_goal) * 100 # 以百分比的形式计算目标实现率。

代码说明:

  • set.seed(123)随机数:固定一个随机数,每次运行都得到相同的结果。
  • 目标目标: 每月累计目标金额,计算年度目标。
  • 成就计算和累积绩效:每月计算和累积略高于目标的随机值。
  • data.frame()目标和绩效数据 数据用于构建图形。
  • 年度目标、年度成就计算并存储年度目标和绩效的最终累计值。
  • 成绩率计算绩效与目标的百分比。

根据目标生成绩效 R 图

现在,让我们在一张图表中直观地比较我们的目标和绩效。 目标是红色虚线性能是蓝线让您一目了然。

根据 # 目标生成性能图表
ggplot(data, aes(x = Month)) +
  geom_line(aes(y = 目标), color = "red", linetype = "dashed", size = 1, label = "Goal") +
  geom_line(aes(y = 成就), color = "blue", size = 1, label = "Achievement") +
  labs(title = "对照目标的成绩图"、
       subtitle = paste("年度目标:", annual_goal, "circle, Annual Achievement:", round(annual_achievement), "circle\nAchievement Rate:", round(achievement_rate, 2), "%")、
       x = "月", y = "累计销售额(韩元)") +
  annotate("text", x = 12, y = max(data$Achievement), label = paste("Yearly exceeded achievement:", round(achievement_rate - 100, 2), "%"), vjust = -1, color = "blue") +
  theme_minimal()

代码说明:

  • geom_line(aees(y = 目标)):将每个月的目标销售额绘制成红色虚线。
  • geom_line(aes(y = 成就)):将每个月的成绩绘制成一条蓝色实线,便于将成绩与目标进行比较。
  • labs(): 显示图表标题、年度目标和绩效,以及作为副标题的已实现百分比。
  • annotate(): 在图表中添加年度超额完成百分比,直观地显示超额完成目标的程度。

3. 更直观地展示目标绩效图表

创建了基本的目标-绩效 R 图表后,让我们以更精炼的方式将其可视化。通过添加颜色、背景、高亮元素等,让我们的图表更具视觉冲击力。

下面是一些额外的代码和说明,可为您的图表增色不少。

根据 # 目标生成性能图表
ggplot(data, aes(x = Month)) +
    geom_line(aes(y = 目标,group = 1), color = "red", linetype = "dashed", size = 1.5) + # 以红色虚线显示目标线,粗细为 1.5
    geom_line(aes(y = 成就, group = 1), color = "blue", size = 1.5) + # 以蓝色实线显示成就线,权重 1.5
    labs(title = "绩效与目标图表", # 设置图表标题
         subtitle = paste("年度目标:", comma(annual_goal), "KRW, Annual Achievement:", comma(round(annual_achievement)), "KRW\nAchievement Rate:", round(achievement_rate, 2), "%")、
         # 设置图表副标题:显示年度目标、成就和成就率
         x = "月", y = "累计销售额(韩元)") + # 为 x 轴和 y 轴设置标签
    scale_y_continuous(labels = 逗号, limits = c(0, max(c(annual_goal, annual_achievement))* 1.2)) + # 以逗号格式显示 y 轴,并将范围设置为最大值的 120%
    annotate("text", x = 12, y = max(achievements) * 1.1, label = paste("Annual Exceedance:", round(achievement_rate - 100, 2), "%")、
             vjust = -1, hjust = 1, color = "blue") + # 以文本形式显示年度超额完成率并调整其位置
    theme_minimal() # 应用最小主题

代码说明:

  • geom_line()图示:目标和绩效分别用红色虚线和蓝色实线表示。
  • 实验室()标题:设置图表标题和副标题。副标题包括年度目标、年度绩效和实现百分比。
  • scale_y_continuous()y 轴:以逗号格式显示 y 轴,并将 y 轴范围设置为最大值 120%,使图表看起来稀疏。
  • 注释("文本", ...)显示图表右上角的超额完成文本,并调整其位置。
  • 主题最小值imal()设计:采用简约主题,使图表看起来干净整洁。

总结:利用绩效与目标对比图分析绩效

通过比较每月的绩效与目标,您可以轻松了解自己的表现。年底时,您可以通过显示超额完成目标的百分比来突出您的业绩,这是分析全年业绩的好方法。您也可以使用此代码将您的目标可视化,并对照目标跟踪您的绩效!

#Full Code

# 加载所需软件包
library(ggplot2)
library(scales)

生成 # 数据
set.seed(123)
months <- 1:12
monthly_goal <- 1000000 # 每月销售目标
goals <- cumsum(rep(monthly_goal, 12)) # 目标累计总和
achievements <- cumsum(goals * runif(12, min = 1.05, max = 1.15)) # 累计总成就

创建 # 数据框架
data <- data.frame(
    Month = factor(months, levels = months, labels = month.name)、
    目标 = goals、
    成就 = 成就
)

# 计算年度目标和成就的总和
annual_goal <- tail(goals, 1)[[1]]
annual_achievement <- tail(achievements, 1)[[1]]
achievement_rate <- (annual_achievement / annual_goal) * 100

根据 # 目标生成绩效图表
ggplot(data, aes(x = Month)) +
    geom_line(aes(y = 目标,group = 1), color = "red", linetype = "dashed", size = 1.5) +
    geom_line(aes(y = 成就,组 = 1),color = "蓝色",size = 1.5) +
    labs(title = "成绩与目标图表"、
         subtitle = paste("Annual Goal:", comma(annual_goal), "KRW, Annual Achievement:", comma(round(annual_achievement)), "KRW\nAchievement Rate:", round(achievement_rate, 2), "%")、
         x = "月", y = "累计销售额(韩元)") +
    scale_y_continuous(labels = comma, limits = c(0, max(c(annual_goal, annual_achievement)))* 1.2)) +
    annotate("text", x = 12, y = max(achievements) * 1.1, label = paste("Annual Exceedance:", round(achievement_rate - 100, 2), "%"), vjust = -1, hjust = 1, color = "blue") +
    theme_minimal()

# 其他信息

刻度软件包:数字格式和轴设置变得简单!

规模 套餐"(《世界人权宣言》) ggplot2并提供了大量函数,使图表的数字格式和坐标轴设置更加直观。在本节中,我们将使用 磅秤包以及该软件包如何帮助您以更简洁、更易读的方式呈现数字数据。

1. 为什么使用天平软件包

一般来说,百万及以上的大数字如果不用逗号分隔,可读性就会降低。 特别是如果您的数据包含大量大数字,如销售或财务数据,让数字用逗号分隔可以使数据更直观易懂。例如 1000000而不是 1,000,000会更容易阅读,对吗?

规模 软件包的 逗号 这些功能是 提高数字的可读性在你的代码中。如果您的代码中有 逗号大数字自动用逗号分隔。

2. 代码中的使用示例

在本帖提供的示例代码中,"...... 规模 软件包,使图表上的坐标轴和标签更易读。

# 以逗号分隔的格式显示年度目标和绩效
labs(title = "绩效与目标图表"、
     subtitle = paste("Annual Goal:", comma(annual_goal), "KRW, Annual Achievement:", comma(round(annual_achievement)), "KRW\nAchievement Rate:", round(achievement_rate, 2), "%")、
     x = "月", y = "累计销售额(韩元)")

在该代码中, 逗号(年度目标)逗号(round(年度成就))以确保年度目标和绩效值以逗号分隔的格式输出。

此外,Y 轴上的数字也是 逗号以逗号分隔的格式显示:

scale_y_continuous(labels = comma, limits = c(0, max(c(annual_goal, annual_achievement)))* 1.2))

这将以逗号格式输出 Y 轴上显示的所有数字,从而大大提高可读性。

3. 《比额表》软件包的好处概述

  • 提高可读性逗号:用逗号分隔大数字,以便于阅读。
  • 简化代码: 逗号 您只需使用一个函数,就能轻松格式化大量数字。
  • 提高数据的直观性数据格式:始终如一的数字格式,让您可以直观地理解数据。

类似文章