ggplot2-如何更改热图的颜色键标签

时间:2020-09-20 05:34:11

标签: r ggplot2

我正在尝试为样品中发现的微生物群落创建属水平的热图。

问题

丰度范围从0到1,大多数细菌的丰度非常低(〜10 ^ -6)。结果,这些低丰度并没有清晰可见,并且与0不同。

我尝试的解决方法

因此,我尝试对丰度进行对数转换,以实现更好的可视化。但是,我遇到一个问题,即对数转换后的丰度> = 0.50或50%表示可能的最大丰度(1或100%),因为log(0.50)=-0.3并且log(1)= 0。因此,这些值与最大丰度没有区别。

我的数据框:

Gene    Sample   Abundance      Log10.abundance
A          1          0.0186        -1.7306
B          1          0.0009        -2.0412
C          1         7.79E-06       -5.108
D          1          0.0031        -2.5103        
...       ...         ...              ...
P          14         0.5337        -0.272
...       ...         ....            ... 

我的代码:

ggplot(data=heatmap, 
       mapping=aes(x= Sample, y= Gene,fill= Log10.abundance)) + 
  geom_tile() + 
  xlab(label = "Sample") + 
  scale_fill_distiller(name = "Relative Abundance (log10)", palette = "RdYlGn") + 
  theme(text = element_text(size=12), 
        axis.text.x = element_text(colour = "black"), 
        axis.text.y = element_text(size = 11, colour = "black"), 
        legend.direction = "horizontal", 
        legend.position = "bottom")

结果:

enter image description here enter image description here

x轴是基因,y轴是样本。基因P的丰度与最大丰度log(1)没什么不同

我很欣赏有关如何更改图以更好地可视化的任何建议,以及有关如何更改色键的标签的任何建议,因为我希望将其表示为10的指数因子,例如10 ^ -6 ,10 ^ -4等。.我尝试绘制百分比,平方根的丰度和对数转换的丰度,但仍然存在此问题。

0 个答案:

没有答案