• 一、前言

1 热图介绍

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

2 热图绘制方式

常用的绘图软件:origin,excel,Tbtools,GraphPadPrism

R语言绘制聚类热图的R包:pheatmap,heatmap,corrplot,complexHeatmap

其中,pheatmap是R语言中使用最广泛的用于绘制聚类热图的绘图包。使用该绘图包可以帮助我们快速生成包含聚类结果的热图。

二、用pheatmap包绘制聚类热图

1   数据准备

数据输入格式(csv格式):

2   R包加载及数据导入

#下载包#install.packages("pheatmap")install.packages("RColorBrewer")#加载包#library("pheatmap")library("RColorBrewer")#加载绘图数据#data<-read.table(file='C:/Rdata/jc/pheatmap.csv',header=TRUE,row.names= 1,sep=',')head(data) #查看数据

#data=log2(data[,1:6]+1) #对基因表达量数据处理#data <- as.matrix(data) #转变为matrix格式矩阵#head(data)

3 热图绘制

3.1基础热图及标准化

pheatmap(data) #基础热图绘制

图1 数据未均一化的热图

3.2进行归一化绘图

3.2.1热图绘制准备——均一化

绘制热图通常需对数据进行归一化操作,以使差别较大的因子处于同一个数量级,从而便于观察不同因子在不同样本之间的变化规律。一般来说,一个因子在不同样本间的分布会在热图的行方向上进行展示,所以为了展示一个因子在不同样本间的分布,均一化处理会按 “row”进行。

pheatmap(data, scale='row') #标准化的方法,row是按照进行标准化(归一化),column是按照列进行标准化,none为不进行标准化

图2经过归一化处理的热图

3.3 热图聚类方式及聚类树调整

pheatmap(data, scale = "row", #表示进行均一化的方向,值为 “row”, “column” 或者"none"clustering_distance_rows = "euclidean", clustering_distance_cols = "euclidean",#表示行、列聚类使用的度量方法,默认为“euclidean”,也可为  "correlation"即按照 Pearson correlation方法进行聚类clustering_method = "complete", #表示聚类方法,包括:‘ward’, ‘ward.D’, ‘ward.D2’, ‘single’, ‘complete’, ‘average’, ‘mcquitty’, ‘median’, ‘centroid’cluster_rows = T,cluster_cols = T, #cluster_rows表示仅对行聚类,cluster_cols表示仅对列聚类,值为TRUE或FALSEcutree_rows = NA, cutree_cols = 6, #若进行了行、列聚类,根据行、列聚类数量分隔热图行treeheight_row = 30, treeheight_col = 30) #、行、列聚类树高度调整

图3设置完热图聚类方式及聚类树调整的热图

3.4聚类热图单元格格式调整

3.4.1单元格长度与宽度及边框颜色调整

使用“cellwidth”、“cellheight”、“border_color”设置热图单元格的宽度、高度及单元格边框的颜色:

pheatmap(data, scale = "row", #表示进行均一化的方向,值为 “row”, “column” 或者"none"clustering_distance_rows = "euclidean", clustering_distance_cols = "euclidean",#表示行、列聚类使用的度量方法,默认为欧式距离“euclidean”, "correlation"表示按照 Pearson correlation方法进行聚类clustering_method = "complete", #表示聚类方法,包括:‘ward’, ‘ward.D’, ‘ward.D2’, ‘single’, ‘complete’, ‘average’, ‘mcquitty’, ‘median’, ‘centroid’cluster_rows = T,cluster_cols = T, #cluster_rows表示仅对行聚类,cluster_cols表示仅对列聚类,值为TRUE或FALSEcutree_rows = NA, cutree_cols = 6, #若进行了行/列聚类,根据行/列聚类数量分隔热图行,cutree_rows=num分割行,cutree_cols=num分割列treeheight_row = 30, treeheight_col = 30, #若行、列聚类树高度调整border_color = NA, #表示热图每个小的单元格边框的颜色,默认为 "grey60"cellwidth = 60, cellheight = 7.5)  #表示单个单元格的宽度\高度,默认为 “NA”

图4 设置完单元格宽度、高度及边框颜色的热图

3.4.2 单元格内数值显示及数值字体大小等调整

使用“display_numbers”、“ fontsize_number”、“ number_format”、“number_color”设置热图单元格上数值显示、数值字体大小、数值格式及字体颜色:

pheatmap(data, scale = "row", #表示进行均一化的方向,值为 “row”, “column” 或者"none"clustering_distance_rows = "euclidean", clustering_distance_cols = "euclidean",#表示行、列聚类使用的度量方法,默认为欧式距离“euclidean”, "correlation"表示按照 Pearson correlation方法进行聚类clustering_method = "complete", #表示聚类方法,包括:‘ward’, ‘ward.D’, ‘ward.D2’, ‘single’, ‘complete’, ‘average’, ‘mcquitty’, ‘median’, ‘centroid’cluster_rows = T,cluster_cols = T, #cluster_rows表示仅对行聚类,cluster_cols表示仅对列聚类,值为TRUE或FALSEcutree_rows = NA, cutree_cols = 6, #若进行了行/列聚类,根据行/列聚类数量分隔热图行,cutree_rows=num分割行,cutree_cols=num分割列treeheight_row = 30, treeheight_col = 30, #若行、列聚类树高度调整border_color = NA, #表示热图每个小的单元格边框的颜色,默认为 "grey60"cellwidth = 60, cellheight = 7.5,  #表示单个单元格的宽度\高度,默认为 “NA”display_numbers = T, #表示是否在单元格上显示原始数值或按照特殊条件进行区分标记fontsize_number = 6, #表示热图上显示数字的字体大小number_format = "%.2f", #表示热图单元格上显示的数据格式,“%.2f” 表示两位小数,“%.1e”表示科学计数法number_color = "grey30") #表示热图单元格上显示的数据字体颜色

图5 设置完单元格内数值显示及数值字体大小等的热图

3.4.3 热图单元格区分标记

使用“display_numbers” 根据热图单元格的数值进行标记,若该单元格原始数值大于1,则为 “***”,否则为 " ";

pheatmap(data, scale = "row", #表示进行均一化的方向,值为 “row”, “column” 或者"none"clustering_distance_rows = "euclidean", clustering_distance_cols = "euclidean",#表示行、列聚类使用的度量方法,默认为欧式距离“euclidean”, "correlation"表示按照 Pearson correlation方法进行聚类clustering_method = "complete", #表示聚类方法,包括:‘ward’, ‘ward.D’, ‘ward.D2’, ‘single’, ‘complete’, ‘average’, ‘mcquitty’, ‘median’, ‘centroid’cluster_rows = T,cluster_cols = T, #cluster_rows表示仅对行聚类,cluster_cols表示仅对列聚类,值为TRUE或FALSEcutree_rows = NA, cutree_cols = 6, #若进行了行/列聚类,根据行/列聚类数量分隔热图行,cutree_rows=num分割行,cutree_cols=num分割列treeheight_row = 30, treeheight_col = 30, #若行、列聚类树高度调整border_color = NA, #表示热图每个小的单元格边框的颜色,默认为 "grey60"cellwidth = 60, cellheight = 7.5,  #表示单个单元格的宽度\高度,默认为 “NA”display_numbers = matrix(ifelse(data > 1, "***", ""), nrow = nrow(data)),#使用“display_numbers” 根据热图单元格的数值进行标记,若该单元格原始数值大于1,则为 “***”,否则为 " ";fontsize_number = 10, #表示热图上显示数字的字体大小number_format = "%.2f", #表示热图单元格上显示的数据格式,“%.2f” 表示两位小数,“%.1e”表示科学计数法number_color = "grey30") #表示热图单元格上显示的数据字体颜色

图6 设置完热图单元格区分标记的热图

3.5 热图美化及个性化设置

3.5.1 热图标题及行列标签

使用“show_rownames ”、“show_colnames”、“main”设置行名、列名显示以及标题:

pheatmap(data, scale = "row", #表示进行均一化的方向,值为 “row”, “column” 或者"none"clustering_distance_rows = "euclidean", clustering_distance_cols = "euclidean",#表示行、列聚类使用的度量方法,默认为欧式距离“euclidean”, "correlation"表示按照 Pearson correlation方法进行聚类clustering_method = "complete", #表示聚类方法,包括:‘ward’, ‘ward.D’, ‘ward.D2’, ‘single’, ‘complete’, ‘average’, ‘mcquitty’, ‘median’, ‘centroid’cluster_rows = T,cluster_cols = T, #cluster_rows表示仅对行聚类,cluster_cols表示仅对列聚类,值为TRUE或FALSEcutree_rows = NA, cutree_cols = 6, #若进行了行/列聚类,根据行/列聚类数量分隔热图行,cutree_rows=num分割行,cutree_cols=num分割列treeheight_row = 30, treeheight_col = 30, #若行、列聚类树高度调整border_color = "grey60", #表示热图每个小的单元格边框的颜色,默认为 "grey60"cellwidth = 60, cellheight = 7.5,  #表示单个单元格的宽度\高度,默认为 “NA”display_numbers = T, #表示是否在单元格上显示原始数值或按照特殊条件进行区分标记fontsize_number = 6, #表示热图上显示数字的字体大小number_format = "%.2f", #表示热图单元格上显示的数据格式,“%.2f” 表示两位小数,“%.1e”表示科学计数法number_color = "grey30", #表示热图单元格上显示的数据字体颜色show_rownames = F, show_colnames = T, #表示是否显示行名、列名main = "Gene标题") #表示热图的标题名字

图7 设置完热图行名、列名显示和标题的热图

3.5.2热图字体大小设置

使用“fontsize”、“fontsize_row”、“fontsize_row”设置热图中字体大小、行名、列名字体大小,默认与fontsize一致:

pheatmap(data, scale = "row", #表示进行均一化的方向,值为 “row”, “column” 或者"none"clustering_distance_rows = "euclidean", clustering_distance_cols = "euclidean",#表示行、列聚类使用的度量方法,默认为欧式距离“euclidean”, "correlation"表示按照 Pearson correlation方法进行聚类clustering_method = "complete", #表示聚类方法,包括:‘ward’, ‘ward.D’, ‘ward.D2’, ‘single’, ‘complete’, ‘average’, ‘mcquitty’, ‘median’, ‘centroid’cluster_rows = T,cluster_cols = T, #cluster_rows表示仅对行聚类,cluster_cols表示仅对列聚类,值为TRUE或FALSEcutree_rows = NA, cutree_cols = 6, #若进行了行/列聚类,根据行/列聚类数量分隔热图行,cutree_rows=num分割行,cutree_cols=num分割列treeheight_row = 30, treeheight_col = 30, #若行、列聚类树高度调整border_color = "grey60", #表示热图每个小的单元格边框的颜色,默认为 "grey60"cellwidth = 60, cellheight = 7.5,  #表示单个单元格的宽度\高度,默认为 “NA”display_numbers = T, #表示是否在单元格上显示原始数值或按照特殊条件进行区分标记fontsize_number = 6, #表示热图上显示数字的字体大小number_format = "%.2f", #表示热图单元格上显示的数据格式,“%.2f” 表示两位小数,“%.1e”表示科学计数法number_color = "grey30", #表示热图单元格上显示的数据字体颜色fontsize =10, fontsize_row = 6, fontsize_col = 10, #热图中字体大小、行、列名字体大小show_rownames = T, show_colnames = T, #表示是否显示行名、列名main = "Gene标题") #表示热图的标题名字

图8 设置完热图中字体大小、行名、列名字体大小的热图

3.5.3热图个性化设置

3.5.3.1热图颜色设置图例

使用“color”、“legend”、“legend_breaks ”等设置热图颜色、图例显示,图例的范围等:

pheatmap(data, scale = "row", #表示进行均一化的方向,值为 “row”, “column” 或者"none"clustering_distance_rows = "euclidean", clustering_distance_cols = "euclidean",#表示行、列聚类使用的度量方法,默认为欧式距离“euclidean”, "correlation"表示按照 Pearson correlation方法进行聚类clustering_method = "complete", #表示聚类方法,包括:‘ward’, ‘ward.D’, ‘ward.D2’, ‘single’, ‘complete’, ‘average’, ‘mcquitty’, ‘median’, ‘centroid’cluster_rows = T,cluster_cols = T, #cluster_rows表示仅对行聚类,cluster_cols表示仅对列聚类,值为TRUE或FALSEcutree_rows = NA, cutree_cols = NA, #若进行了行/列聚类,根据行/列聚类数量分隔热图行,cutree_rows=num分割行,cutree_cols=num分割列treeheight_row = 30, treeheight_col = 30, #若行、列聚类树高度调整border_color = "grey60", #表示热图每个小的单元格边框的颜色,默认为 "grey60"cellwidth = 60, cellheight = 7.5,  #表示单个单元格的宽度\高度,默认为 “NA”display_numbers = F, #表示是否在单元格上显示原始数值或按照特殊条件进行区分标记fontsize_number = 6, #表示热图上显示数字的字体大小number_format = "%.2f", #表示热图单元格上显示的数据格式,“%.2f” 表示两位小数,“%.1e”表示科学计数法number_color = "grey30", #表示热图单元格上显示的数据字体颜色fontsize =10, fontsize_row = 6, fontsize_col = 10, #热图中字体大小、行、列名字体大小show_rownames = T, show_colnames = T, #表示是否显示行名、列名main = "Gene标题", #表示热图的标题名字color = colorRampPalette(c("navy","white","firebrick3"))(100), #表示热图颜色,(100)表示100个等级legend = T, #表示是否显示图例,值为TRUE或FALSElegend_breaks = NA, #设置图例的范围legend_breaks=c(-2.5,0,2.5)表示图例断点的设置,默认为NA,legend_labels = NA) #表示图例断点的标签

图9 设置完热图颜色和图例的热图

3.5.3.2标签角度及未聚类条件下热图的隔断位置

使用“angle_col”设置列标签的角度;“gaps_row”和“gaps_col”设置在未进行行和列聚类时,在行和列方向上热图的隔断位置:

pheatmap(data, scale = "row", #表示进行均一化的方向,值为 “row”, “column” 或者"none"clustering_distance_rows = "euclidean", clustering_distance_cols = "euclidean",#表示行、列聚类使用的度量方法,默认为欧式距离“euclidean”, "correlation"表示按照 Pearson correlation方法进行聚类clustering_method = "complete", #表示聚类方法,包括:‘ward’, ‘ward.D’, ‘ward.D2’, ‘single’, ‘complete’, ‘average’, ‘mcquitty’, ‘median’, ‘centroid’cluster_rows = T,cluster_cols = F, #cluster_rows表示仅对行聚类,cluster_cols表示仅对列聚类,值为TRUE或FALSEcutree_rows = NA, cutree_cols = NA, #若进行了行/列聚类,根据行/列聚类数量分隔热图行,cutree_rows=num分割行,cutree_cols=num分割列treeheight_row = 30, treeheight_col = 30, #若行、列聚类树高度调整border_color = "grey60", #表示热图每个小的单元格边框的颜色,默认为 "grey60"cellwidth = 60, cellheight = 7.5,  #表示单个单元格的宽度\高度,默认为 “NA”display_numbers = F, #表示是否在单元格上显示原始数值或按照特殊条件进行区分标记fontsize_number = 6, #表示热图上显示数字的字体大小number_format = "%.2f", #表示热图单元格上显示的数据格式,“%.2f” 表示两位小数,“%.1e”表示科学计数法number_color = "grey30", #表示热图单元格上显示的数据字体颜色fontsize =10, fontsize_row = 6, fontsize_col = 10, #热图中字体大小、行、列名字体大小show_rownames = T, show_colnames = T, #表示是否显示行名、列名main = "Gene标题", #表示热图的标题名字color = colorRampPalette(c("navy","white","firebrick3"))(100), #表示热图颜色,(100)表示100个等级legend = T, #表示是否显示图例,值为TRUE或FALSElegend_breaks = NA, #设置图例的范围legend_breaks=c(-2.5,0,2.5)表示图例断点的设置,默认为NA,legend_labels = NA, #表示图例断点的标签angle_col = "45", #表示列标签的角度gaps_row = NULL,  #仅在未进行行聚类时使用,表示在行方向上热图的隔断位置gaps_col = c(1,2,3,4,5,6))  #仅在未进行列聚类时使用,表示在列方向上热图的隔断位置

图10 设置完列标签角度、列隔断的热图

3.5.3.3自定义行列标签

使用“gaps_row”、“gaps_col”自定义行列标签:

pheatmap(data, scale = "row", #表示进行均一化的方向,值为 “row”, “column” 或者"none"clustering_distance_rows = "euclidean", clustering_distance_cols = "euclidean",#表示行、列聚类使用的度量方法,默认为欧式距离“euclidean”, "correlation"表示按照 Pearson correlation方法进行聚类clustering_method = "complete", #表示聚类方法,包括:‘ward’, ‘ward.D’, ‘ward.D2’, ‘single’, ‘complete’, ‘average’, ‘mcquitty’, ‘median’, ‘centroid’cluster_rows = T,cluster_cols = T, #cluster_rows表示仅对行聚类,cluster_cols表示仅对列聚类,值为TRUE或FALSEcutree_rows = NA, cutree_cols = NA, #若进行了行/列聚类,根据行/列聚类数量分隔热图行,cutree_rows=num分割行,cutree_cols=num分割列treeheight_row = 30, treeheight_col = 30, #若行、列聚类树高度调整border_color = "grey60", #表示热图每个小的单元格边框的颜色,默认为 "grey60"cellwidth = 60, cellheight = 7.5,  #表示单个单元格的宽度\高度,默认为 “NA”display_numbers = F, #表示是否在单元格上显示原始数值或按照特殊条件进行区分标记fontsize_number = 6, #表示热图上显示数字的字体大小number_format = "%.2f", #表示热图单元格上显示的数据格式,“%.2f” 表示两位小数,“%.1e”表示科学计数法number_color = "grey30", #表示热图单元格上显示的数据字体颜色fontsize =10, fontsize_row = 6, fontsize_col = 10, #热图中字体大小、行、列名字体大小show_rownames = T, show_colnames = T, #表示是否显示行名、列名main = "Gene标题", #表示热图的标题名字color = colorRampPalette(c("navy","white","firebrick3"))(100), #表示热图颜色,(100)表示100个等级legend = T, #表示是否显示图例,值为TRUE或FALSElegend_breaks = NA, #设置图例的范围legend_breaks=c(-2.5,0,2.5)表示图例断点的设置,默认为NA,legend_labels = NA, #表示图例断点的标签angle_col = "45", #表示列标签的角度gaps_row = NULL,  #仅在未进行行聚类时使用,表示在行方向上热图的隔断位置gaps_col = c(1,2,3,4,5,6),  #仅在未进行列聚类时使用,表示在列方向上热图的隔断位置labels_row = NULL, #表示使用行标签代替行名labels_col = c("sample1","sample2","sample3","sample4","sample5","sample6"))  #表示使用列标签代替列名

图11 自定义完列标签的热图

3.6热图保存

使用“filename”、“width”和“height”对热图进行保存:

pheatmap(data, scale = "row", #表示进行均一化的方向,值为 “row”, “column” 或者"none"clustering_distance_rows = "euclidean", clustering_distance_cols = "euclidean",#表示行、列聚类使用的度量方法,默认为欧式距离“euclidean”, "correlation"表示按照 Pearson correlation方法进行聚类clustering_method = "complete", #表示聚类方法,包括:‘ward’, ‘ward.D’, ‘ward.D2’, ‘single’, ‘complete’, ‘average’, ‘mcquitty’, ‘median’, ‘centroid’cluster_rows = T,cluster_cols = T, #cluster_rows表示仅对行聚类,cluster_cols表示仅对列聚类,值为TRUE或FALSEcutree_rows = NA, cutree_cols = NA, #若进行了行/列聚类,根据行/列聚类数量分隔热图行,cutree_rows=num分割行,cutree_cols=num分割列treeheight_row = 30, treeheight_col = 30, #若行、列聚类树高度调整border_color = "grey60", #表示热图每个小的单元格边框的颜色,默认为 "grey60"cellwidth = 60, cellheight = 7.5,  #表示单个单元格的宽度\高度,默认为 “NA”display_numbers = F, #表示是否在单元格上显示原始数值或按照特殊条件进行区分标记fontsize_number = 6, #表示热图上显示数字的字体大小number_format = "%.2f", #表示热图单元格上显示的数据格式,“%.2f” 表示两位小数,“%.1e”表示科学计数法number_color = "grey30", #表示热图单元格上显示的数据字体颜色fontsize =10, fontsize_row = 6, fontsize_col = 10, #热图中字体大小、行、列名字体大小show_rownames = T, show_colnames = T, #表示是否显示行名、列名main = "Gene标题", #表示热图的标题名字color = colorRampPalette(c("navy","white","firebrick3"))(100), #表示热图颜色,(100)表示100个等级legend = T, #表示是否显示图例,值为TRUE或FALSElegend_breaks = NA, #设置图例的范围legend_breaks=c(-2.5,0,2.5)表示图例断点的设置,默认为NA,legend_labels = NA, #表示图例断点的标签angle_col = "45", #表示列标签的角度gaps_row = NULL,  #仅在未进行行聚类时使用,表示在行方向上热图的隔断位置gaps_col = c(1,2,3,4,5,6),  #仅在未进行列聚类时使用,表示在列方向上热图的隔断位置labels_row = NULL, #表示使用行标签代替行名labels_col = c("sample1","sample2","sample3","sample4","sample5","sample6"),  #表示使用列标签代替列名filename = NA,  #表示保存图片的位置及命名width = NA, height = NA) #表示输出绘制热图的宽度/高度

好了本次分享就到这里,下一期将分享聚类热图分组的绘制。

扫码关注公众号获取更多内容,以及相应代码与演示数据。

【R语言】——pheatmap包绘制聚类热图1(保姆级教程)相关推荐

  1. r语言热图对列不进行聚类_R语言 Pheatmap 画非聚类 热图

    python pandas 加 R Pheatmap 画非聚类热图 最近需求一个需求图 f9cb530a4fb553c2f42fd8f157cd451.png 上面的annotation部分用作临床注 ...

  2. R语言pheatmap包绘制热图

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

  3. R语言echarts4r包:绘制优雅动态图

    文章目录 安装 使用 特性 快速开始 突然看到期待已久的echarts4r包0.3.2版上线cran了,值得写点内容,顺便温习下用法. echarts4是百度开源项目,是一款简单实用.图表优美的js动 ...

  4. 数据可视化——R语言ggplot2包绘制相关矩阵为热图

    数据可视化--R语言ggplot2包绘制相关矩阵为热图 概述:R语言软件和数据可视化--ggplot2快速绘制相关矩阵为热图.本文翻译了一篇英文博客,博客原文链接:http://www.sthda.c ...

  5. R语言pheatmap包热图legend位置调整

    前言 上一期用 pheatmap 包画完热图之后发现,虽然图很美观,但是图例位置有些不符合我的要求,我希望图例 (legend) 在左边,所以去看了看 pheatmap 函数具体参数,然而只有 leg ...

  6. 使用R语言ggplot2包绘制pathway富集分析气泡图(Bubble图):数据结构及代码

    气泡图是在笛卡尔坐标系同加入大小的参数所形成的可以表示三个变量关系的图例.在对基因完成GO/KEGG分析后,使用气泡图可以直观的展示pathway.pvalue.count之间的关系.下面为使用R语言 ...

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

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

  8. 数据可视化——R语言ggplot2包绘制精美的小提琴图(并箱线图或误差条图组合)

    数据可视化--R语言ggplot2包绘制精美的小提琴图(并箱线图或误差条图组合) 概述:R语言使用ggplot2工具包绘制小提琴图.为了使数据表达更加丰富,同时将小提琴图与箱线图和误差条图相结合.另外 ...

  9. 使用ComplexHeatmap包绘制个性化热图

    文章目录 使用ComplexHeatmap包绘制个性化热图 检测安装加载包 创建测试数据集 一行命令绘图 调参美化 猜你喜欢 写在后面 使用ComplexHeatmap包绘制个性化热图 作者:刘梦瑶 ...

最新文章

  1. 也许是东半球直接底气的分库分表实践了
  2. CentOS6软件包管理
  3. 注入式开发(二):.NET 匿名函数
  4. 证明并推导汉诺塔(河内之塔)问题公式
  5. 数据中心机房布线设计方案
  6. 巧用css text-indent减小中文标点符号的占位大小
  7. 页面提交插入到数据库 1.jsp
  8. nssl1323,jzoj(初中)2107-交流【dfs,容斥,组合数】
  9. 92年清华本科,做了30年技术,43岁在CTO的位置上被优化!找了一年多工作,有些迷茫!...
  10. excel导入mysql命令行_使用命令行将Excel数据表导入Mysql中的方法小结
  11. perl DBI高级编程
  12. 人生果实 Life is fruity 缓慢而坚定地做自己能做的事情
  13. 计算机 高新 会计电算化,会计软件应用(用友软件系列)用友通T3试题汇编 , 会计电算化员级[电子资源]...
  14. installshield脚本入门
  15. 人工智能 一种现代方法 第3章 用搜索树对问题求解
  16. 如何查询Linux软件安装源,Zypper——suse软件查询 安装 升级 与 软件源编辑
  17. 【CV】ShuffleNet:通过 GroupConv 和 ChannelShuffle 实现轻量化 CNN 架构
  18. 妇产科护理学名词解释
  19. 【iOS逆向与安全】iOS插件开发光速入门
  20. 用.bat文件多开微信及打开固定浏览器浏览固定页面 开机自启

热门文章

  1. Verilog中reg型与wire型区别
  2. win10多显示器鼠标屏幕间跳转研究
  3. win7 系统英文版转化为可安装中文软件版本
  4. Unity3d连接SQLServer数据库
  5. #软件技术 常用软件与资源网站
  6. ubuntu16.04 ns2安装教程
  7. zigbee3.0 ZCL_ALARMS用法
  8. 基于SSM框架的众筹平台毕业设计源码211755
  9. Java 理论和实践:线程池和工作队列
  10. S模式应答机含ADS-B OUT功能TQ-Aviation KTX2