HEATMAP / GGPLOT R - PullRequest
       118

HEATMAP / GGPLOT R

1 голос
/ 05 августа 2020

Я пытаюсь создать тепловую карту уровня компетенции для производственного предприятия. Я пробовал как HEATMAP, так и GGPLOT. Когда дело доходит до использования GGPLOT, у меня есть несколько вопросов - вот пример данных. Я все еще не уверен, какой из них даст мне лучший результат.

GROUP       ProcessName        EmployeeName    Level  
Furnace     Machining           Alex             4  
Furnace     Machining           Bobby            1  
Furnace     Milling             Alex             3  
Repair      Heat                Chris            2  
Repair      Heat                Bobby            3  

В основном данные будут иметь уровень компетентности 100 сотрудников с разными процессами и группами. Я хотел бы показать тепловую карту всего производства, а также по группам и, если возможно, по сменам, которые находятся еще в одном столбце.

до сих пор я пробовал HEATMAP, HEATMAP.2 - мне что-то не хватает, но я Я не получаю здесь то, что хотел

Итак, я пошел с GGPLOT,

ggplot(test_data, aes(factor(Name),factor(ProcessName),factor(level)) +
    geom_tile() +
    theme(axis.text.x = element_text(angle=45, hjust = 1,vjust=1,face = "bold"),) 

На полученном графике квадраты окрашены во всех местах.

Я ищу для

  1. Где каждый квадрат окрашен в зависимости от уровня
  2. специфических c цветов для каждого уровня (здесь я пробовал scale_color_manual - но он не меняется)
  3. один квадрат для сотрудника и этого конкретного процесса.

Пожалуйста, предложите, нужно ли мне взглянуть на что-нибудь другое.

1 Ответ

0 голосов
/ 05 августа 2020

Это работает для меня.

Вам нужно только сделать ProcessName et c фактором, если вы хотите изменить порядок, и это, вероятно, лучше всего сделать до ggplot.

Вы можете изменить заливку с помощью одной из функций scale_fill_*.

library("tidyverse")
test_data <- read_table(
"GROUP       ProcessName        EmployeeName    Level  
Furnace     Machining           Alex             4  
Furnace     Machining           Bobby            1  
Furnace     Milling             Alex             3  
Repair      Heat                Chris            2  
Repair      Heat                Bobby            3")  


ggplot(test_data, aes(x = EmployeeName, y = ProcessName, fill = Level)) +
   geom_tile() +
   theme(axis.text.x = element_text(angle=45, hjust = 1, vjust=1, face = "bold")) 

Created on 2020-08-05 by the пакет REPEX (v0.3.0)

...