加载所需R包

library(pheatmap)

设置工作路径

setwd("/Users/Davey/Desktop/VennDiagram/")

# 清除当前环境中的变量

rm(list=ls())

构建测试数据集

test = matrix(rnorm(200), 20, 10)

test[1:10, seq(1, 10, 2)] = test[1:10, seq(1, 10, 2)] + 3

test[11:20, seq(2, 10, 2)] = test[11:20, seq(2, 10, 2)] + 2

test[15:20, seq(2, 10, 2)] = test[15:20, seq(2, 10, 2)] + 4

colnames(test) = paste("Test", 1:10, sep = "")

rownames(test) = paste("Gene", 1:20, sep = "")

head(test)

## Test1 Test2 Test3 Test4 Test5 Test6

## Gene1 4.064973 0.7535271 3.024070 -2.1294440 4.407945 -0.35677097

## Gene2 2.360043 1.6974946 3.273425 -2.3341406 3.839523 0.16982944

## Gene3 3.253465 -0.9011582 1.716257 -0.2294471 4.636610 -0.24520382

## Gene4 4.070226 -0.6191941 3.734437 1.9348314 4.426825 -0.17730957

## Gene5 3.821414 0.5584876 1.871479 -0.2784607 2.633761 0.01332901

## Gene6 3.012469 0.1738285 3.652423 -2.0083435 4.124951 -0.67899611

## Test7 Test8 Test9 Test10

## Gene1 3.602764 1.2903843 2.044119 1.826159e+00

## Gene2 3.083160 0.2642755 2.855381 1.988289e-01

## Gene3 3.417809 -0.1362079 3.858884 -8.390304e-01

## Gene4 2.911934 0.4299550 4.128398 -3.011521e+00

## Gene5 2.651758 -1.6884728 3.001079 1.861780e+00

## Gene6 1.934270 0.5811059 2.297763 6.878644e-05

# 默认绘图

pheatmap(test)

image.png

# scale = "row"参数对行进行归一化

pheatmap(test, scale = "row")

image.png

# clustering_method参数设定不同聚类方法,默认为"complete",可以设定为'ward', 'ward.D', 'ward.D2', 'single', 'complete', 'average', 'mcquitty', 'median' or 'centroid'

pheatmap(test,scale = "row", clustering_method = "average")

image.png

# clustering_distance_rows = "correlation"参数设定行聚类距离方法为Pearson corralation,默认为欧氏距离"euclidean"

pheatmap(test, scale = "row", clustering_distance_rows = "correlation")

image.png

# color参数自定义颜色

pheatmap(test, color = colorRampPalette(c("navy", "white", "firebrick3"))(50))

image.png

# cluster_row = FALSE参数设定不对行进行聚类

pheatmap(test, cluster_row = FALSE)

image.png

# legend_breaks参数设定图例显示范围,legend_labels参数添加图例标签

pheatmap(test, legend_breaks = c(1:5), legend_labels = c("1.0","2.0","3.0","4.0","5.0"))

image.png

# legend = FALSE参数去掉图例

pheatmap(test, legend = FALSE)

image.png

# border_color参数设定每个热图格子的边框色

pheatmap(test, border_color = "red")

image.png

# border=FALSE参数去掉边框线

pheatmap(test, border=FALSE)

image.png

# show_rownames和show_colnames参数设定是否显示行名和列名

pheatmap(test,show_rownames=F,show_colnames=F)

image.png

# treeheight_row和treeheight_col参数设定行和列聚类树的高度,默认为50

pheatmap(test, treeheight_row = 30, treeheight_col = 50)

image.png

# display_numbers = TRUE参数设定在每个热图格子中显示相应的数值,number_color参数设置数值字体的颜色

pheatmap(test, display_numbers = TRUE,number_color = "blue")

image.png

# number_format = "%.1e"参数设定数值的显示格式

pheatmap(test, display_numbers = TRUE, number_format = "%.1e")

image.png

# 自定义数值的显示方式

pheatmap(test, display_numbers = matrix(ifelse(test > 5, "*", ""), nrow(test)))

image.png

# cellwidth和cellheight参数设定每个热图格子的宽度和高度,main参数添加主标题

pheatmap(test, cellwidth = 15, cellheight = 12, main = "Example heatmap")

image.png

# 构建列注释信息

annotation_col = data.frame(

CellType = factor(rep(c("CT1", "CT2"), 5)),

Time = 1:5

)

rownames(annotation_col) = paste("Test", 1:10, sep = "")

head(annotation_col)

## CellType Time

## Test1 CT1 1

## Test2 CT2 2

## Test3 CT1 3

## Test4 CT2 4

## Test5 CT1 5

## Test6 CT2 1

# 构建行注释信息

annotation_row = data.frame(

GeneClass = factor(rep(c("Path1", "Path2", "Path3"), c(10, 4, 6)))

)

rownames(annotation_row) = paste("Gene", 1:20, sep = "")

head(annotation_row)

## GeneClass

## Gene1 Path1

## Gene2 Path1

## Gene3 Path1

## Gene4 Path1

## Gene5 Path1

## Gene6 Path1

# annotation_col参数添加列注释信息

pheatmap(test, annotation_col = annotation_col)

image.png

# annotation_legend = FALSE参数去掉注释图例

pheatmap(test, annotation_col = annotation_col, annotation_legend = FALSE)

image.png

# annotation_col和annotation_row参数同时添加行和列的注释信息

pheatmap(test, annotation_row = annotation_row, annotation_col = annotation_col)

image.png

# 自定注释信息的颜色列表

ann_colors = list(

Time = c("white", "firebrick"),

CellType = c(CT1 = "#1B9E77", CT2 = "#D95F02"),

GeneClass = c(Path1 = "#7570B3", Path2 = "#E7298A", Path3 = "#66A61E")

)

head(ann_colors)

## $Time

## [1] "white" "firebrick"

##

## $CellType

## CT1 CT2

## "#1B9E77" "#D95F02"

##

## $GeneClass

## Path1 Path2 Path3

## "#7570B3" "#E7298A" "#66A61E"

# annotation_colors设定注释信息的颜色

pheatmap(test, annotation_col = annotation_col, annotation_colors = ann_colors, main = "Title")

image.png

pheatmap(test, annotation_col = annotation_col, annotation_row = annotation_row,

annotation_colors = ann_colors)

image.png

pheatmap(test, annotation_col = annotation_col, annotation_colors = ann_colors[2])

image.png

# gaps_row = c(10, 14)参数在第10和14行处添加gap, 要求对行不进行聚类

pheatmap(test, annotation_col = annotation_col, cluster_rows = FALSE, gaps_row = c(10, 14))

image.png

# cutree_col = 2参数将列按聚类树的结果分成两部分, 要求对列进行聚类

pheatmap(test, annotation_col = annotation_col, cluster_rows = FALSE, gaps_row = c(10, 14),

cutree_col = 2)

image.png

# 对行和列都不聚类,自定义划分行和列的gap

pheatmap(test, annotation_col = annotation_col, cluster_rows = FALSE, cluster_cols = FALSE,

gaps_row = c(6, 10, 14), gaps_col = c(2, 5, 8))

image.png

# 自定义行的标签名

labels_row = c("", "", "", "", "", "", "", "", "", "", "", "", "", "", "",

"", "", "Il10", "Il15", "Il1b")

# labels_row参数添加行标签

pheatmap(test, annotation_col = annotation_col, labels_row = labels_row)

image.png

# 自定义聚类的距离方法

drows = dist(test, method = "minkowski")

dcols = dist(t(test), method = "minkowski")

# clustering_distance_rows和clustering_distance_cols参数设定行和列的聚类距离方法

pheatmap(test, clustering_distance_rows = drows, clustering_distance_cols = dcols)

image.png

# fontsize参数设定标签字体大小,filename参数设定图片保存名称

pheatmap(test, cellwidth = 15, cellheight = 12, fontsize = 8, filename = "test.pdf")

将热图结果按聚类后的顺序输出

aa=pheatmap(test,scale="row") #热图,归一化,并聚类

image.png

# 简要查看热图对象的信息

summary(aa)

## Length Class Mode

## tree_row 7 hclust list

## tree_col 7 hclust list

## kmeans 1 -none- logical

## gtable 6 gtable list

order_row = aa$tree_row$order #记录热图的行排序

order_col = aa$tree_col$order #记录热图的列排序

datat = data.frame(test[order_row,order_col]) # 按照热图的顺序,重新排原始数据

datat = data.frame(rownames(datat),datat,check.names =F) # 将行名加到表格数据中

colnames(datat)[1] = "geneid"

write.table(datat,file="reorder.txt",row.names=FALSE,quote = FALSE,sep='\t') #输出结果,按照热图中的顺序

sessionInfo()

## R version 3.5.1 (2018-07-02)

## Platform: x86_64-apple-darwin15.6.0 (64-bit)

## Running under: OS X El Capitan 10.11.3

##

## Matrix products: default

## BLAS: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRblas.0.dylib

## LAPACK: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRlapack.dylib

##

## locale:

## [1] zh_CN.UTF-8/zh_CN.UTF-8/zh_CN.UTF-8/C/zh_CN.UTF-8/zh_CN.UTF-8

##

## attached base packages:

## [1] stats graphics grDevices utils datasets methods base

##

## other attached packages:

## [1] pheatmap_1.0.10

##

## loaded via a namespace (and not attached):

## [1] Rcpp_0.12.18 digest_0.6.16 rprojroot_1.3-2

## [4] grid_3.5.1 gtable_0.2.0 backports_1.1.2

## [7] magrittr_1.5 scales_1.0.0 evaluate_0.11

## [10] stringi_1.2.4 rmarkdown_1.10 RColorBrewer_1.1-2

## [13] tools_3.5.1 stringr_1.3.1 munsell_0.5.0

## [16] yaml_2.2.0 compiler_3.5.1 colorspace_1.3-2

## [19] htmltools_0.3.6 knitr_1.20

服务器画热图显示无效的变量,使用pheatmap包绘制热图相关推荐

  1. R语言pheatmap包绘制热图

    热图就是使用颜色来表示数据相关性的图.能绘制热图的R包很多,今天我们来介绍pheatmap包,这个包的特点是简单易学,图片精美. 废话不多说,我们先导入数据和R包 library(pheatmap) ...

  2. 【R语言】——pheatmap包绘制聚类热图1(保姆级教程)

    一.前言 1 热图介绍 通常,热图是对所获得的数据或其他因素进行归一化处理后,用颜色的变化来直观表示不同样本间的变化情况.本质上其是由一个个用预设颜色表示数值大小的小方格组成的数据矩阵,并通过对因子或 ...

  3. R语言使用gt包和gtExtras包优雅地、漂亮地显示表格数据:使用gtExtras包添加一个图,显示表中某一列中的数字、并自定义表格数据显示的主题格式、并自定义数值数据的格式(例如百分比)

    R语言使用gt包和gtExtras包优雅地.漂亮地显示表格数据:使用gtExtras包添加一个图,显示表中某一列中的数字.并自定义表格数据显示的主题格式.并自定义数值数据的格式(例如百分比) 目录

  4. r语言中which的使用_R语言绘图 | 使用pheatmap快速绘制热图

    欢迎关注微信公众号"生信小王子"! 热图是我们展示数据时常用的图形,今天小编教大家使用"pheatmap" 快速绘制热图. 首先,我们需要准备输入文件.比如,我 ...

  5. 利用Python的folium包绘制城市道路图!专业地图!

    写在前面 很长一段时间内,我都在研究在线地图的开发者文档,百度地图和高德地图的开发者中心提供了丰富的在线地图服务,虽然有一定的权限限制,但不得不说,还是给我的科研工作提供了特别方便的工具,在博客前面我 ...

  6. R语言forestplot包绘制森林图

    森林图在论文中很常见,多用于表示多因素分析中的变量与结果变量的比值效应,可以用图示的方法比较直观的绘制出来.既往我们在文章<R语言快速绘制多因素回归分析森林图(1)><R语言使用fo ...

  7. python绘制简单城市剪影图_利用Python的folium包绘制城市道路图的实现示例

    写在前面 很长一段时间内,我都在研究在线地图的开发者文档,百度地图和高德地图的开发者中心提供了丰富的在线地图服务,虽然有一定的权限限制,但不得不说,还是给我的科研工作提供了特别方便的工具,在博客前面我 ...

  8. R语言ggplot2可视化绘制Marimekko/Mosaic图实战:自定义函数绘制Marimekko/Mosaic图(添加数值、标题、色彩配置)、ggmosaic包绘制Marimekko图

    R语言ggplot2可视化绘制Marimekko/Mosaic图实战:自定义函数绘制Marimekko/Mosaic图(添加数值.标题.色彩配置).ggmosaic包绘制Marimekko图 目录

  9. R语言使用beanplot包绘制豆荚图实战:与箱图、小提琴图对比、绘制不对称的豆荚图

    R语言使用beanplot包绘制豆荚图实战:与箱图.小提琴图对比.绘制不对称的豆荚图 目录 R语言使用beanplot包绘制豆荚图实战 #包的安装和导入 #豆荚图与箱图

最新文章

  1. Junit的安装与使用
  2. C#实现Web应用程序定时启动任务
  3. Linux缓冲区溢出问题
  4. 解决在非spring上下文的环境中无法获取Spring容器的bean【nullpointer:connot invoke because xxx is null问题】
  5. vue 打包体积过大 实现懒加载 ????
  6. LVS+Keepalived 高可用群集的介绍和搭建步骤
  7. html css animation,css animation是什么?
  8. 帝国cms 打开打开转换表文件失败!
  9. 昔日互联网影视巨头现在连三包服务都无法履行?客服:建议亲自行维修呢
  10. vue自动化单元测试
  11. 阶段5 3.微服务项目【学成在线】_day01 搭建环境 CMS服务端开发_07-CMS需求分析-SSI服务端包含技术...
  12. Voltage Keepsake CodeForces - 801C(二分)
  13. 略谈人工智能算法的缺点
  14. vscode字体图标
  15. php gd jpeg,怎么解决GD库不支持JPEG
  16. Python学习——语法错误与异常
  17. 云服务器一键搭建脚本
  18. 机器学习实战之决策树(一)构造决策树
  19. MYSQL 如何得到两个日期间的工作日(不含周六日,节假日)
  20. 关于反函数的二阶导数

热门文章

  1. 防止sql注入攻击的方法总结
  2. jquery中对小数进行取整
  3. Linux系统Git环境配置
  4. 基于MINA框架快速开发网络应用程序
  5. Math.ceil(),Math.floor()与Math.round()三个函数的定义。
  6. PostgreSQL(从版本9.3至11.2)任意命令执行漏洞 cve-2019-9193
  7. spring-data-rest-rec 复现分析 cve-2017-8046
  8. linux 设备管理工具 udev 规则编写
  9. linux journalctl 命令 查询systemd init 系统日志
  10. python3 分割函数 partition rpartition 函数