#Metas Alcançadas
#7.84% das metas estão alcançadas
library(dplyr)
library(ggplot2)
= 0.0784
percentage_done = scales::comma(percentage_done, accuracy = 0.001, big.mark = "." , decimal.mark = ",")
percentual_feito
= tibble(
fake_dat part = c("Completo", "Incompleto"),
percentage = c(percentage_done, 1 - percentage_done))
$percentage = scales::comma(fake_dat$percentage, big.mark = "." , decimal.mark = ",") fake_dat
Duas maneiras de mostrar o progresso do PDI
Introdução
outro dia, encontrei o forpdi. ferramenta que mostra se a unirio alcança ou não os objetivos estratégicos. Ele parece um TRELLO simplificado e eu acredito que consigo reproduzi-lo no shiny ou no streamlit.
Assim, antes de continuar, queria mostrar um pedaço do forpdi.
A primeira coisa que pensei foi criar um valuebox com o progresso. depois pensei em criar um card com o progresso. Finalmente, pensei em colocar um ggplot no card….. mas antes, preciso fazer um gráfico ggplot do progresso. então, vamos a ele:
O primeiro passo é criar um banco de dados
No código acima, fiz um banco de dados de exemplo e troquei a casa decimal de “.” para “,”. Já podemos fazer o nosso primeiro gráfico.
%>%
fake_dat ggplot(aes(x = "", y = percentage, fill = part)) +
geom_col(width = .25,position = position_stack(reverse = TRUE)) +
scale_fill_manual(
#values = c("Completo" = "#009E73", "Incompleto" = "grey80")
values = c("Completo" = "steelblue", "Incompleto" = "tomato")
+
) coord_flip()
Agora, a gente poderia mexer um pouco no tema.
%>%
fake_dat ggplot(aes(x = "", y = percentage, fill = part)) +
geom_col(width = .25,position = position_stack(reverse = TRUE)) +
scale_fill_manual(
#values = c("Completo" = "#009E73", "Incompleto" = "grey80")
values = c("Completo" = "steelblue", "Incompleto" = "tomato")
+
) coord_flip() +
theme_void() +
theme(
legend.position = "none",
plot.title = element_text(
family = "Source Sans Pro", size = 28, face = "bold"
),plot.subtitle = element_text(family = "Source Sans Pro", size = 18)
+
) annotate(
"text",
x = 0.95,
y = 0.95,
label = glue::glue("{scales::percent(percentage_done)} completo"),
size = 12,
family = "Source Sans Pro",
fontface = "bold",
color = "black",
vjust = 0
+
)labs(
title = "Metas Alcançadas",
subtitle = paste0(percentual_feito ," das metas estão alcançadas."),
y='',
)
Gauger
Podemos fazer também um gráfico curvado. por exemplo:
#----------------------------------------------------------
# gauge_plot
#----------------------------------------------------------
= 0.95
percentage_done
= tibble(
fake_dat part = c("Complete", "Incomplete"),
percentage = c(percentage_done, 1 - percentage_done),
start = lag(percentage, default = 0) * pi,
end = start + percentage * pi
) fake_dat
# A tibble: 2 × 4
part percentage start end
<chr> <dbl> <dbl> <dbl>
1 Complete 0.95 0 2.98
2 Incomplete 0.0500 2.98 3.14
library(ggforce)
<- fake_dat |>
gauge_plot ggplot() +
geom_arc_bar(
aes(
x0 = 1,
y0 = 1,
fill = part,
start = start - pi / 2,
end = end - pi / 2,
r0 = 0.75,
r = 1
)+
) coord_fixed()
gauge_plot
agora, podemos mexer no tema:
<- gauge_plot +
labeled_gauge_plot annotate(
"text",
x = 1,
y = 1,
label = glue::glue("{percentage_done * 100}% complete"),
size = 16,
family = "Source Sans Pro",
fontface = "bold",
color = "#009E73",
vjust = 0
+
) labs(
title = "This is a gauge plot",
subtitle = "It was created in ggplot and shows you how much of your goal\nyou have already achieved."
) labeled_gauge_plot
<- labeled_gauge_plot +
themed_gauge_plot theme_void() +
theme(
legend.position = "none",
plot.title = element_text(
family = "Source Sans Pro", size = 28, face = "bold"
),plot.subtitle = element_text(family = "Source Sans Pro", size = 18)
) themed_gauge_plot
+
themed_gauge_plot scale_fill_manual(
values = c("Complete" = "#009E73", "Incomplete" = "grey80")
)