【问题标题】:HEATMAP/GGPLOT R热图/GGPLOT R
【发布时间】:2020-11-25 16:58:42
【问题描述】:

我正在尝试为制造工厂创建能力级别热图。我已尝试过 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. 每个级别的特定颜色(这里我尝试了 scale_color_manual - 但它没有改变)
  3. 员工和特定流程的方格。

如果我需要看任何不同的东西,请提出建议。

【问题讨论】:

  • 你需要在aes中使用fill = level
  • 我确实尝试过,但彩色框的结构仍然不正确,例如,如果我查看名称和进程组合的框 - 填充颜色仅为该矩形的四分之一

标签: r ggplot2 heatmap ggplotly pheatmap


【解决方案1】:

这对我有用。

如果您想更改顺序,只需将 ProcessName 等作为一个因素,这可能最好在 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")) 

reprex package (v0.3.0) 于 2020 年 8 月 5 日创建

【讨论】:

  • 谢谢 Richard - 在上图中,如果你看到我会用 1 个正方形表示 Alex 和 Heat,类似地,名称和进程名称的框和该框的颜色 -- ggplot 可以做到这一点
  • Richard Telford :基本上我希望为名称和进程名称的特定组合的框/图块/正方形着色 - 所以在上面的图中,第一个框应该代表 Alex 和 Heat,第二个框将成为鲍比和热......等等 - 我如何在 ggplot 中做到这一点是我正在努力的地方
  • 如果您不想要,可以关闭背景网格。添加theme(panel.grid = element_blank())
  • 谢谢理查德 - 我有太多的员工姓名和流程名称,他们使情节拥挤在 x 轴标签上 - 有没有简单的方法来做到这一点
  • 将标签转为垂直有帮助,然后您可以减小字体大小或使图更大,但如果您确实有太多,则需要制作多个图或删除名称(也许显示按部门)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-03
  • 1970-01-01
  • 1970-01-01
  • 2022-11-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多