ggplot2绘制环状聚类热图
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ggplot2绘制环状聚类热图相关的知识,希望对你有一定的参考价值。
参考技术A 本文是要把昨天画的聚类热图给“掰弯”,gene <- read.csv(file = "clipboard",header = T,sep = "\t",check.names = F) #读入数据
row.names(gene) <- letters #添加上基因名,如果直接有基因名,则省去这一步
gg <- hclust(dist(gene)) #行聚类
zz <- hclust(dist(t(gene))) #列聚类
gene <- gene[,zz$order] #聚类后排序
gene <- gene[gg$order,]
gene <- cbind(name = row.names(gene),gene)
data <- melt(gene,id.vars = "name")
data$num <- rep(c(1:26),6)
data$x <- rep(c(1:6),each = 26)
tex <- data.frame(x = c(13:18),y = rep(0,6),variable = colnames(gene)[2:7]) #建立一个数据框,用于给环形热图添加标签
ggplot(data)+
geom_tree (data = gg,continuous = c("size"),size = 1)+ #生成聚类树
geom_tile(data = data,aes(x = x+12 ,y = num,alpha = 0.7,fill = value),color = "gray")+ #在热图的左边空出12列,方便画出空心的圆
scale_fill_gradient2(low = "green",high = "darkred",mid = "white",midpoint = 6,name = "FPKM",
guide = guide_colourbar(barheight = unit(10,"cm"),title.theme = element_text(size = rel(15)) ))+
scale_y_discrete(position = c("right"),limits = factor(c(1:28)),label = c(gene$name," "," "))+ # 在热图的底部空出两行(26+2),设置环形的开口
scale_x_discrete(label = NULL)+
scale_size_continuous(range = c(4,9),guide = NULL)+
scale_alpha(guide = NULL)+
labs(x = NULL,y = NULL)+
coord_polar(theta = "y",start = 0)+ #环形热图的本质是采用极坐标系
geom_text(data = tex,aes(x,y,label = variable))+
theme(panel.background = element_blank(),
axis.line = element_blank(),
axis.title.y = element_blank(),
axis.title.x = element_text(size = rel(2),hjust = 0.5),
axis.text.x = element_text(size = rel(2),hjust = 0.5),
axis.text.y = element_text(hjust = 0.5,size = rel(2)),
axis.ticks = element_blank())
不用R语言!用它也能轻松搞定聚类热图绘制(软件安装包+使用手册)
丨丨丨
热图(Heatmap)因其生动饱满的信息和丰富的色彩变化,一直是生信SCI文章中的宠儿。一张精美的热图,会对Paper添色不少。【文末有福利】
Heml全名叫Heatmap Illustrator是一款专用于绘制热图的软件,与Excel和Graphpad等软件工具相比,在绘制热图上远胜于前两者,能和R软件绘制的热图相媲美。
安装说明Heml 1.0软件可以支持Windows、Linux、Mac OS X多种操作系统,对于不同系统,软件安装包的下载见文末。
下载好安装包后,按照提示完成Heml1.0.3.7的安装,最终完成安装界面如下:
1、快速入门
A: 列标题。
B: 行标题。
C: 行聚类效果。D: 列聚类效果。E: 颜色标尺。
F: 画布大小 (像素)。
G: A (顶部)/D (底部) 的高度和 B (左侧)/C (右侧)的宽度 。(像素) H: 对横纵坐标标题(行标题,列标题)的设置,包括位置、字体。I: 是否对行/列进行聚类。
J: 旋转设置, X-axis:列标题文字的旋转角度(A), Y-axis: 行标题文字的旋转角度
(B), Graph: 画布的旋转角度 (例如,旋转 90°,将横纵坐标切换)。K: 设置 heatmap 的色系。
L: 各项命令。无论您更改了什么设置,需要点击“UPDATE”按钮才会生效。
2、菜单
文件:
1.Load: 载入HemI 工程文件或 Excel/CSV/TEX 文件。
2.Save: 保存当前的项目。
3.Save as: 将当前项目保存到另一个文件中。
4.Export Image: 导出当前的热图。
5.Exit: 退出 HemI
选项:
1.Statistic: 与弹出菜单中“set up statistic” 相同。
2.Note: 与弹出菜单中“set up note”相同。
3.Bar: 与弹出菜单中 “set up bar”相同。帮助:
1.Acknowledgement: 对给予我们帮助的其他课题组的致谢。
2.Citation: 如果 HemI 对您的工作有帮助请引用我们的论文。
3.Contact Us:如果您有任何意见或建议通过这里的联系方式联系我们。
4.Check for Update: 检查 HemI 是否有更新。
5.About: 我们其他的工具和其链接。
操作Heml 1.0.3.7软件支持四种类型的数据文件导入,包括:HemI工程文件(*.xml),Excel工作簿(*.xls),逗号分隔的文件(*.csv),制表符分隔文件(*.txt,不建议使用)。而在这四种格式文件中,Heml工程文件只能有Heml生成后,才可以导入。本文以Excel工作簿(*.xls)为例进行说明。
这是本研究中导入的数据,比较A-J不同肿瘤的各基因的表达量差异,数据如下图。
Heml 1.0.3.7软件打开界面如图1,首先点击“LOAD”,选择目标文件“热图数据.xls”导入。在选择Excel工作簿之后,选择需要的表单作为数据源(如果Excel文件中有多个Sheet),这里选择Sheet1,然后点击“OK”。
接下来,数据加载器会弹出,在这个对话框中,根据对话框顶端的“Tip”来选择展示在heatmap中的数据,或者点击“Auto select”按钮进行自动选择。点击“Finish”。
根据科研人员和期刊的要求,可对生成的热图进行大小,横/纵坐标题,文字大小/角度以及是否聚类等进行设置,来美化生成的图形。具体各区域设置及热图界面见下图。
最后,就是生成的热图导出。选择“File--Export Image”,对生成的图片进行宽/高度和分辨率设置。
Heml导出图片的分辨率有72dpi,300dpi和600dpi。对于300dpi和600dpi的图形导出格式为.Tiff。选择导出文件位置后,导出图形即可。
后台回复“heml”即可获取软件安装包及中文使用手册
▎来源:大卫的科研宝库
你的科研必备干货
① SCI论文写作/PPT模板
② 国自然资料
③医学实验
④ 科研必备软件
......更多软件/资料需要可加小编微信:boyuan6668
以上是关于ggplot2绘制环状聚类热图的主要内容,如果未能解决你的问题,请参考以下文章
R语言可视化分别使用lattice包和ggplot2包可视化热图(heatmap)并绘制热力图对应的系统树图(dendrogram)实战
R语言ggplot2可视化绘制二维的密度图:在R中建立二维散点数据的连续密度热图2D密度估计MASS包中的kde2d函数实现2D密度估计geom_density2d函数可视化二维密度图