在连续X轴上具有二进制结果变量的热图-是否可能?

时间:2019-06-21 09:23:34

标签: r ggplot2 binary heatmap

弥补数据

Years (row): 0.5, 0.5, 1.1, 2.0

A: (column 1): 1, 0, 1, 1

B: (column 2): 0, 0, 1, 1

C: (column 3): 0 ,1 ,0, 0

我尝试为R中的数据制作一个热图,我想在Y轴上获得不同标记(A,B,C)的结果,而在X轴上获得喜欢拥有年份(> 200个数据)。

我尝试了许多不同的方式和组合,但是以某种方式我无法使它起作用。

我正在使用R,我尝试使用ggplot

library(ggplot2)
ggplot(Data,aes(x=Years,y=markers,fill=factor(Positive/Negative)))+geom_tile()

我知道这是不正确的,但是我根本不知道如何使它起作用。

1 个答案:

答案 0 :(得分:0)

类似的东西? 您需要融合数据,以便可以将Years和classes作为标签,将值用作fill-values:


library(data.table)
df <- fread(
'Years      A    B   C
0.19       1    0   0   
0.21       0    1   1   
1.00       0    0   1
2.25       1    0   1'
)

library(tidyverse)

df %>% melt(id.vars = 'Years') %>% 
  ggplot(aes(x = as.factor(Years), y = as.factor(variable), 
             fill = as.factor(value))) +
  geom_tile() +
  scale_fill_manual(values = c('black', 'white')) +
  labs(x = 'year', y = 'marker',fill = 'result')