我有一个稀疏数据矩阵。我的数据如下:
x1=rbinom(5,1,0.5)
x2=rbinom(5,1,0.2)
x3=rbinom(5,1,0.2)
data_co=data.frame(x1,x2,x3)
x1 x2 x3
1 0 1 0
2 1 0 0
3 1 0 0
4 0 1 0
5 0 0 0我想按以下方式绘制上述矩阵:
我尝试了R中的图像函数,得到了这样的输出:

但是轴标签不是我想要的格式。这是我能用R做的事吗?
任何帮助都将不胜感激。
谢谢。
发布于 2020-10-29 15:17:46
尝尝这个。将行号转换为id。使用pivot_longer()将其重塑为long。然后用geom_tile()勾勒出这幅图。根据您的规格设置轴,并按值填充。如果您想查看数字,可以使用factor()。在这里,使用您共享的数据的代码:
library(tidyverse)
#Code
data_co %>% rowid_to_column('id') %>%
pivot_longer(-id) %>%
ggplot(aes(x=factor(id),y=name,fill=factor(value)))+
geom_tile(color='black')+xlab('x')+ylab('col')+
labs(fill='Var',color='Var')输出:

如果需要更改颜色,可以使用scale_fill_manual()定义所需的颜色:
#Code 2
data_co %>% rowid_to_column('id') %>%
pivot_longer(-id) %>%
ggplot(aes(x=factor(id),y=name,fill=factor(value)))+
geom_tile(color='black')+xlab('x')+ylab('col')+
labs(fill='Var',color='Var')+
scale_fill_manual(values=c('magenta','yellow'))输出:

https://stackoverflow.com/questions/64593939
复制相似问题