每列在R中的热图中有不同的高度

每列在R中的热图中有不同的高度,r,R,假设我有一张这样的桌子: Category = c(1, 2, 1,2,1,2,3) Bucket = c("A", "A", "B","B","C","C","C") Fill = rnorm(7) df = data.frame(Category,Bucket,Fill) Category | Bucket | Fill ---------| ------ | ----- 1 | A | 0.7 2 | A | 0.8

假设我有一张这样的桌子:

Category = c(1, 2, 1,2,1,2,3) 
Bucket = c("A", "A", "B","B","C","C","C") 
Fill = rnorm(7) 
df = data.frame(Category,Bucket,Fill) 


 Category | Bucket | Fill
 ---------| ------ | -----
     1    |    A   |  0.7
     2    |    A   |  0.8
     1    |    B   |  0.9
     2    |    B   |  0.5
     1    |    C   |  0.4
     2    |    C   |  0.3
     3    |    C   |  0.5



  ggplot(data=df, aes(x=Bucket,y=Category))+
    geom_tile(aes(fill= Fill))+ 
    theme(axis.text.y=element_blank())
而且热图不是正方形的。铲斗
C
的高度高于铲斗
B
和铲斗
A


如何调整以使每个桶具有相同的高度?

如果您在一个数据库中共享数据,则更容易提供帮助。必须删除所有这些破折号和管道才能导入数据并不有趣。如果您有不同数量的类别,并且您已将类别分配给y轴,那么您希望如何使事物成为正方形?@MrFlick谢谢您的提示。我已经更新了我的帖子。我希望铲斗A/B中每个挡块的高度为1/2,但铲斗C中的挡块高度为1/3。因此,总的来说,每个桶中的高度加起来将达到1。缩放热图列以隐藏缺少的值(这本质上是您通过请求可以实现的)并不是热图的真正目的。我不知道有什么办法可以满足你在热图上的要求。缺少的信息通常被认为是有用的信息,如果您同时对行和/或列使用聚类方法,这些信息将位于热图中。如果您在一个数据库中共享数据,则更容易提供帮助。必须删除所有这些破折号和管道才能导入数据并不有趣。如果您有不同数量的类别,并且您已将类别分配给y轴,那么您希望如何使事物成为正方形?@MrFlick谢谢您的提示。我已经更新了我的帖子。我希望铲斗A/B中每个挡块的高度为1/2,但铲斗C中的挡块高度为1/3。因此,总的来说,每个桶中的高度加起来将达到1。缩放热图列以隐藏缺少的值(这本质上是您通过请求可以实现的)并不是热图的真正目的。我不知道有什么办法可以满足你在热图上的要求。缺少的信息通常被认为是有用的信息,如果您还对行和/或列使用聚类方法,则这些信息将位于热图中。