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软件绘制的热图相媲美。


不用R语言!用它也能轻松搞定聚类热图绘制(软件安装包+使用手册)


安装说明Heml 1.0软件可以支持Windows、Linux、Mac OS X多种操作系统,对于不同系统,软件安装包的下载见文末。

下载好安装包后,按照提示完成Heml1.0.3.7的安装,最终完成安装界面如下


不用R语言!用它也能轻松搞定聚类热图绘制(软件安装包+使用手册)



1、快速入门

不用R语言!用它也能轻松搞定聚类热图绘制(软件安装包+使用手册)

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、菜单

文件:

不用R语言!用它也能轻松搞定聚类热图绘制(软件安装包+使用手册)

1.Load: 载入HemI 工程文件或 Excel/CSV/TEX 文件。

2.Save: 保存当前的项目。

3.Save as:  将当前项目保存到另一个文件中。

4.Export Image: 导出当前的热图。

5.Exit: 退出 HemI


选项:

不用R语言!用它也能轻松搞定聚类热图绘制(软件安装包+使用手册)

1.Statistic: 与弹出菜单中“set up statistic” 相同。

2.Note: 与弹出菜单中“set up note”相同。

3.Bar: 与弹出菜单中 “set up bar”相同。帮助:

不用R语言!用它也能轻松搞定聚类热图绘制(软件安装包+使用手册)

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不同肿瘤的各基因的表达量差异,数据如下图。


不用R语言!用它也能轻松搞定聚类热图绘制(软件安装包+使用手册)


Heml 1.0.3.7软件打开界面如图1,首先点击“LOAD”,选择目标文件“热图数据.xls”导入。在选择Excel工作簿之后,选择需要的表单作为数据源(如果Excel文件中有多个Sheet),这里选择Sheet1,然后点击“OK”。


不用R语言!用它也能轻松搞定聚类热图绘制(软件安装包+使用手册)


接下来,数据加载器会弹出,在这个对话框中,根据对话框顶端的“Tip”来选择展示在heatmap中的数据,或者点击“Auto select”按钮进行自动选择。点击“Finish”。


不用R语言!用它也能轻松搞定聚类热图绘制(软件安装包+使用手册)


根据科研人员和期刊的要求,可对生成的热图进行大小,横/纵坐标题,文字大小/角度以及是否聚类等进行设置,来美化生成的图形。具体各区域设置及热图界面见下图

 不用R语言!用它也能轻松搞定聚类热图绘制(软件安装包+使用手册)


最后,就是生成的热图导出。选择“File--Export Image”,对生成的图片进行宽/高度和分辨率设置。 


不用R语言!用它也能轻松搞定聚类热图绘制(软件安装包+使用手册)


Heml导出图片的分辨率有72dpi,300dpi和600dpi。对于300dpi和600dpi的图形导出格式为.Tiff。选择导出文件位置后,导出图形即可。


不用R语言!用它也能轻松搞定聚类热图绘制(软件安装包+使用手册)


后台回复“heml”即可获取软件安装包及中文使用手册

不用R语言!用它也能轻松搞定聚类热图绘制(软件安装包+使用手册)


▎来源:大卫的科研宝库


不用R语言!用它也能轻松搞定聚类热图绘制(软件安装包+使用手册)

你的科研必备干货


① SCI论文写作/PPT模板








② 国自然资料




③医学实验



















④ 科研必备软件






......更多软件/资料需要可加小编微信:boyuan6668

戳这里,多根头发!

以上是关于ggplot2绘制环状聚类热图的主要内容,如果未能解决你的问题,请参考以下文章

R 数据可视化 —— 聚类热图 pheatmap

热图绘制

R语言可视化分别使用lattice包和ggplot2包可视化热图(heatmap)并绘制热力图对应的系统树图(dendrogram)实战

基于非数字第三变量的热图轴重新排序 - ggplot2

R语言ggplot2可视化绘制二维的密度图:在R中建立二维散点数据的连续密度热图2D密度估计MASS包中的kde2d函数实现2D密度估计geom_density2d函数可视化二维密度图

具有范围值颜色的 ggplot2 热图