R语言ggplot2怎样画热图添加分组信息的颜色条
发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,本篇文章给大家分享的是有关R语言ggplot2怎样画热图添加分组信息的颜色条,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。image.p
千家信息网最后更新 2025年01月31日R语言ggplot2怎样画热图添加分组信息的颜色条
本篇文章给大家分享的是有关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安全错误
数据库的锁怎样保障安全
kis 数据库保护
数据库实体属性联系图
我的世界国际服务器多少钱
番禺区质量网络技术开发商家
电信宽带 虚拟服务器
软件开发服务方案百度文库
福州道道通网络技术
数据库ip地址字段类型
传奇世界上最强服务器
网络技术的军事运用
玉田信息网络技术售后服务
晋享团购互联网科技招聘文员
2020年软件开发招聘情况
北京码链网络技术有限公司
软件开发讲座观后感
云帮手服务器管理工具怎么样
网络技术网络管理行业认知
数据库怎么降低余度
阿里巴巴的网络技术标准
传统媒体网络技术
抢手机小软件开发
江苏交友软件开发价钱是多少
网络安全大问题
网络安全上网笔记
游戏软件开发教学视频
面板服务器
青岛航天信息公司代理服务器端口
如何查电脑上的数据库
网络技术员工作周记
综合小说软件开发