R语言ggplot2怎样画热图添加分组信息的颜色条
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇文章给大家分享的是有关R语言ggplot2怎样画热图添加分组信息的颜色条,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。image.p
千家信息网最后更新 2026年11月03日R语言ggplot2怎样画热图添加分组信息的颜色条
image.png image.png image.png image.png 下面是画这个颜色条image.png 将分组颜色条和热图拼接到一起image.png
本篇文章给大家分享的是有关R语言ggplot2怎样画热图添加分组信息的颜色条,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

之前有人在公众号留言问文章开头这幅图如何实现,下面的B图是折线图加柱形图,相对比较容易实现,上面的A图稍微有点复杂,我想到的办法是拼图,图A可以看成三个热图,然后加一个堆积柱形图,最后将四个图组合到一起。那就按照这个思路试一下看能不能实现。
首先解决昨天的遗留问题:ggplot2画图添加文字内容的时候如何添加下划线最初的想法是左侧的颜色条用堆积柱形图来实现,又看了一遍Y叔公众号关于
aplot这个包的推文,发现他是用geom_tile()函数实现的,仔细想想还是geom_tile()函数实现起来比较方便。
非常感谢下面这位的留言
文本添加下划线的小例子
df<-data.frame(A=1:10,
B=1:10)
library(ggplot2)
ggplot(df,aes(A,B))+
geom_point(size=5)+
theme_minimal()+
ggtitle(_expression(underline("Good Good Study, Day Day Up")))+
labs(x=_expression(paste(italic("ABC"),"123")))
下面进入今天推文的正式内容
首先是准备热图的数据如何画这个热图昨天的推文已经介绍过了,点击下方蓝色字可以直达昨天的推文
R语言ggplot2画带有空白格的热图简单小例子
df2<-read.csv("example_data/ggplot2_heatmap_color_bar.csv",header=T)
df2$y<-factor(df2$y,levels = rev(df2$y))
ggplot(df2,aes(x=x,y=y))+
geom_tile(aes(fill=group))+
scale_x_continuous(expand = c(0,0))+
theme(panel.background = element_blank(),
axis.ticks = element_blank(),
axis.title = element_blank(),
axis.text.x = element_blank(),
legend.position = "left",
legend.title = element_blank())+
scale_fill_manual(values = c("green","blue","red"))
library(aplot)
library(ggplot2)
df<-read.csv("example_data/ggplot2_heatmap.csv",header=T)
df1<-reshape2::melt(df)
df1$value1<-ifelse(is.na(df1$value),0,df1$value)
df1$value1<-as.factor(df1$value1)
df1$A<-factor(df1$A,levels = rev(df$A))
p1<-ggplot(df1,aes(x=variable,y=A))+
geom_tile(aes(fill=value1),color="black")+
scale_fill_manual(values = c("white","orangered","red2","red4"))+
scale_x_discrete(position = "top")+
theme(panel.background = element_blank(),
axis.title = element_blank(),
axis.ticks = element_blank(),
axis.text.x.top = element_text(angle = 90,
hjust = 0,
vjust= 0.5),
plot.title = element_text(hjust=0.5),
legend.position = "none")+
labs(title = _expression(underline("Plant growth and development")))+
geom_text(aes(label=value1,color=value1))+
scale_color_manual(values = c("white","black","black","black"))
df2<-read.csv("example_data/ggplot2_heatmap_color_bar.csv",header=T)
df2$y<-factor(df2$y,levels = rev(df2$y))
p2<-ggplot(df2,aes(x=x,y=y))+
geom_tile(aes(fill=group))+
scale_x_continuous(expand = c(0,0))+
theme(panel.background = element_blank(),
axis.ticks = element_blank(),
axis.title = element_blank(),
axis.text = element_blank(),
legend.position = "left",
legend.title = element_blank())+
scale_fill_manual(values = c("green","blue","red"))
p1%>%
insert_left(p2,width = 0.05)
接下来是模仿文章开头,拼接三个热图这里遇到一个问题是如何将右侧的图例放大左上角去?用代码如何实现我暂时还不知道,出图以后手动编辑吧!
p3<-p1+
theme(axis.text.y = element_blank())
pdf(file = "123.pdf",width = 12)
p1%>%
insert_left(p2,width = 0.05)%>%
insert_right(p3)%>%
insert_right(p3)
dev.off()
以上就是R语言ggplot2怎样画热图添加分组信息的颜色条,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。
热图
颜色
分组
语言
文章
信息
接下来
三个
下划线
例子
公众
内容
函数
开头
数据
更多
知识
篇文章
问题
面的
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
花魁咖啡
互联网科技活动banner
迪茉互联网科技
艾特科技互联网
西安互联网科技公司
友谊互联网络科技
互联网科技英文翻译
互联网科技咨询
互联网科技类展会
团飞科技与伯堂互联网服务平台
受益于互联网科技的高速发展
厦门比较好的科技互联网公司
浙江互联网科技研学营
苏州五指互联网络科技有限
互联网科技和信息
996高科技互联网公司
西安小鹰速贷互联网科技有限公司
唐山双旺合互联网科技产业园
科技互联网专业工作会议发言稿
优雇互联网科技有限公司
科技互联网龙头
世界互联网领先科技成果
汉立互联网科技有限公司联系电话
浙江互联网科技研学营
互联网科技革命什么开始
互联网保险科技创业
领航科技大厦互联网公司
扫呗互联网科技有限公司
唯美互联网科技
如何强化互联网金融科技