千家信息网

R语言单元格为方块的热图举例分析

发表于:2025-02-19 作者:千家信息网编辑
千家信息网最后更新 2025年02月19日,这篇文章主要讲解了"R语言单元格为方块的热图举例分析",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"R语言单元格为方块的热图举例分析"吧!image.p
千家信息网最后更新 2025年02月19日R语言单元格为方块的热图举例分析

这篇文章主要讲解了"R语言单元格为方块的热图举例分析",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"R语言单元格为方块的热图举例分析"吧!

image.png

我选择使用R语言的ggplot2来实现,这个是箱线图和热图的拼接,右侧的热图可以借助geom_point()函数实现,将点的形状改为正方块,数值按照正负来映射颜色,按照一定的数值来映射大小。

首先构造一份数据集
set.seed("20200407")
x<-seq(-1,1,by=0.001)
df<-data.frame(matrix(sample(x,90),nrow = 6))
head(df)
colnames(df)<-paste0("Y",1:15)
rownames(df)<-paste0("X",1:6)
write.csv(df,file = "20210407_example.csv",quote = F)
image.png

这样是宽格式数据,ggplot2作图需要整理成长格式

df<-read.csv("20210407_example.csv",header=T)
head(df)
df1<-reshape2::melt(df,id.vars="Sample")
head(df1)
image.png
构造数据
library(dplyr)
df1%>%
mutate(group_1 = case_when(
value <= 0 ~ "A",
TRUE ~ "B"
))%>%
mutate(group_2=case_when(
value >= -1 & value < -0.7 ~ "[-1,-0.7)",
value >= -0.7 & value < -0.5 ~ "[-0.7,-0.5)",
value >= -0.5 & value < -0.3 ~ "[-0.5,-0.3)",
value >= -0.3 & value <= 0 ~ "[-0.3,0]",
value > 0 & value <= 0.3 ~ "(0,0.3)",
value > 0.3 & value <= 0.5 ~ "(0.3,0.5]",
value > 0.5 & value <= 0.7 ~ "(0.5,0.7]",
value > 0.7 & value <= 1 ~ "(0.7,1]",
))%>%
mutate(value_1=case_when(
value >= -1 & value < -0.7 ~ -0.8,
value >= -0.7 & value < -0.5 ~ -0.6,
value >= -0.5 & value < -0.3 ~ -0.4,
value >= -0.3 & value <= 0 ~ -0.2,
value > 0 & value <= 0.3 ~ 0.2,
value > 0.3 & value <= 0.5 ~ 0.4,
value > 0.5 & value <= 0.7 ~ 0.6,
value > 0.7 & value <= 1 ~ 0.8,
)) -> df2
构造数据用于添加线段
df3<-data.frame(
x = seq(1.5,5.5,1),
xend = seq(1.5,5.5,1),
y = -Inf,
yend = Inf
)
df3
df4<-data.frame(
x = -Inf,
xend = Inf,
y = seq(1.5,14.5,1),
yend = seq(1.5,14.5,1)
)
画图
library(ggplot2)
ggplot(data=df2,aes(x=Sample,y=variable))+
geom_point(aes(size=abs(value_1),
color=factor(value_1)),
shape=15)+
scale_color_manual(values = c(rep("#fe0000",4),rep("#009ccc",4)))+
theme_bw()+
theme(panel.grid = element_blank(),
panel.border = element_rect(color="grey"),
axis.ticks = element_blank())+
geom_segment(data=df3,aes(x=x,xend=xend,y=y,yend=yend),
color="grey")+
geom_segment(data=df4,aes(x=x,xend=xend,y=y,yend=yend),
color="grey")+
scale_size_continuous(range = c(2,10))+
scale_y_discrete(position = "right")+
labs(x=NULL,y=NULL)
image.png

这里遇到的问题是如何让图例想推文开头的图片一样:一个图例就能够既反映大小又有颜色呢?而且图例的排布是从打到小然后又从小到大。这个如何用代码实现呢?暂时不知道了,手动编辑吧,可能得费一些时间

image.png

感谢各位的阅读,以上就是"R语言单元格为方块的热图举例分析"的内容了,经过本文的学习后,相信大家对R语言单元格为方块的热图举例分析这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

热图 方块 语言 单元 分析 数据 图例 学习 内容 大小 数值 格式 问题 颜色 从小到大 从小 代码 函数 右侧 图片 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 eclipse写入数据库代码 网络安全管理员四级证书 银川软件开发公司招聘 软件开发发展就业形势 运营商服务器访问记录多久删除 数据库名词解释ARQ 服务器做raid需要保存吗 美国互联网科技企业 上海城市队伍管理软件开发 网络安全工程师代永强 查询服务器地址 一个区两个服务器可以邮寄东西吗 国产数据库管理系统是什么 软件开发公司会配备手提电脑吗 上海皮包软件开发公司 北京网络安全系统生产厂家 国家网络安全防范指南 天涯明月刀手游端游服务器 sgi 服务器 青岛软件开发青岛公司招聘 请列举两类常见的软件开发模型 深圳靠谱医疗健康软件开发 服务器如何配置管理口ip 文件档案管理服务器 流媒体视觉化直播管理服务器 传奇私服 物品数据库 怎么查看本地时间服务器地址 软件开发转让协议版本 软件开发区域销售职责 多媒体与网络技术 考研
0