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

  • 一、前言

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) #表示输出绘制热图的宽度/高度

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

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

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/42052.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

画出相关的ER图

学校规定&#xff1a; 一个学生可选修多门课&#xff0c;一门课有若干个学生选修&#xff1b;一个教师可讲授多门课&#xff0c;一门课只有一个教师讲授&#xff1b;一个学生选修一门课程&#xff0c;仅有一个成绩。学生的属性有学号、学生姓名&#xff1b;教师的属性有教师编…

使用Visual Paradigm画ER图/Visual ER图

window安装教程&#xff1a;https://www.jianshu.com/p/8e31cb519cdf?tdsourcetags_pctim_aiomsg Visual Paradigm&#xff1a;多功能设计制图工具。 一&#xff1a;new-project 新建项目 二&#xff1a;new entity relationship diagram new entity relationship diagra…

推荐一个开源好用的ER图、流程图作图软件-draw.io

相信大家已经体验过不少作图软件&#xff0c;我个人用过微软的 Visio、金山的wps 作图、在线的 process.on 等。但是我个人的体验都不是很好&#xff1a;微软的 visio&#xff0c;只能在 windows 上使用&#xff0c;在mac 上通过虚拟机的体验不是很好&#xff1b;金山wps mac 版…

ER图

1、某商业集团的销售管理系统 数据库中有三个实体集&#xff0c; 一是“商店”实体集&#xff0c;属性有商店编号、商店名、地址等&#xff1b; 二是“商品”实体集&#xff0c;属性有商品号、商品名、规格、单价等&#xff1b; 三是“职工”实体集&#xff0c;属性有职工编号…

为什么要画ER图?有哪些画图规范?

一、概念 E-R图也称实体-联系图(Entity Relationship Diagram)&#xff0c;提供了表示实体类型、属性和联系的方法&#xff0c;用来描述现实世界的概念模型 举例&#xff1a; 二、组成部分 实体&#xff1a;一般认为&#xff0c;客观上可以相互区分的事物就是实体&#xff0…

ER图--绘图

课本P217 【例】用ER图来表示某个工厂物资管理的概念模型。 仓库&#xff1a;仓库号&#xff0c;面积&#xff0c;电话号码 零件&#xff1a;零件号&#xff0c;名称&#xff0c;规格&#xff0c;单价&#xff0c;描述 供应商&#xff1a;供应商号&#xff0c;姓名&#xff0c;…

数据库画简单ER图

诸位看官&#xff0c;我这是应付考试用的。。。。 一般就两种题型&#xff1a;画ER图、把ER图转化成关系模式。 三种基本的图形 分析个题。&#xff08;在B站上偷的图&#xff0c;UP主&#xff1a;邮递员马龙&#xff09; 其实我觉得属性&#xff0c;他已经自己标明了。不用我们…

ER图 咋画

一、什么是E-R图&#xff1f; E-R图又称实体关系图&#xff0c;是一种提供了实体&#xff0c;属性和联系的方法&#xff0c;用来描述现实世界的概念模型。通俗点讲就是&#xff0c;当我们理解了实际问题的需求之后&#xff0c;需要用一种方法来表示这种需求&#xff0c;概念模型…

怎样绘制ER图

E-R图也称实体-联系图(Entity Relationship Diagram)&#xff0c;1976年由P.Pchen 提出&#xff0c;提供了表示实体类型、属性和联系的方法。 ER图是我们在上数据库课的时候提到的&#xff0c;简单来说就是辅助数据库设计的概念模型。 1.表示方法 实体型&#xff1a;用矩形框&…

ER图(实体关系图)怎么画?

关于绘图&#xff0c;我一般遵循这样的原则&#xff1a; 绘图前先充分理解这类图形&#xff0c;回答它是什么&#xff0c;具有哪些绘图规范&#xff0c;最后才是怎么画。 一、什么是E-R图&#xff1f; E-R图又称实体关系图&#xff0c;是一种提供了实体&#xff0c;属性和联…

chatgpt赋能Python-python_er图

Python ER图介绍 ER图是一种用于描述数据模型的图形化工具。通常&#xff0c;它被用于数据库设计过程中&#xff0c;以便开发人员能够更好地理解数据库架构和数据流。 Python是一种功能强大的编程语言&#xff0c;可以用于很多方面的应用&#xff0c;包括web开发、数据科学、…

申请虚拟VISA卡ONEKEY保姆级教程来了!

写在前面&#xff1a;本人之前为了亲自开通plus会员找了很多教程&#xff0c;发现目前的教程都有些不太详细&#xff0c;也踩了不少坑&#xff0c;所以为了广大酷友顺利用上强大的GPT4&#xff0c;我根据本人的开通经验做了一篇细致的教学 开通前我们需要准备以下工具&#xff…

Chat GPT Plus:适合您企业的终极人工智能聊天机器人

对话式人工智能正在迅速发展&#xff0c;企业越来越多地采用聊天机器人和虚拟助理来简化客户服务运营。然而&#xff0c;创建与客户无缝交互的聊天机器人需要复杂的语言模型来理解自然语言输入并做出适当的响应。这就是 Chat GPT Plus 的用武之地。在本文中&#xff0c;我们将探…

头牌知产介绍棋类商标注册申请属于哪类?

棋类商标注册申请属于哪类&#xff1f;暑假即将来临&#xff0c;学生即将迎来两个月的假期&#xff0c;合理的安排&#xff0c;丰富假期的生活&#xff0c;棋类会是他们很好的选择。有段时间《棋魂》风靡&#xff0c;大家惊叹主演的高超围棋技艺。围棋也是众多棋类的一种&#…

腾讯申请注册“WECHAT CLOUD”商标

据天眼查APP显示&#xff0c;近日&#xff0c;腾讯科技&#xff08;深圳&#xff09;有限公司申请注册WECHAT CLOUD商标&#xff0c;国际分类涉及网站服务、通讯服务、广告销售等&#xff0c;目前商标状态为等待实质审查。据中国日报此前报道&#xff0c;腾讯拟推出个人微信云存…

(教程)教你如何自己办理商标注册事宜

现在商标注册都是直接在网上申请的。 我把流程一步步写出来了&#xff0c;照做就行 一、注册商标&#xff0c;首先需要把材料准备好 不管你是个人还是法人申请&#xff0c;都需要准备&#xff1a; 1、申请书 2、委托书 3、 清晰商标图样&#xff08;记得提交之前查重&#xff0…

一步步教你如何在线申请国内商标

在国内申请商标&#xff0c;可以营业厅办理&#xff0c;也可以网站在线注册进行申请&#xff0c;对于不方便跑营业厅的人来说&#xff0c;在线办理还是很方便的&#xff0c;现在就说明一下如何在线办理。 在线办理主要分三个步骤&#xff1a;网站注册、查询商标、申请商标 网站…

灵魂拷问!GPT-4来了!人类自媒体博主存在的意义是什么?

大家有没有想过一个问题&#xff0c;当某某领域大v 的文章或者视频都是GPT-4创作出来的时候&#xff01;那么我们这些低产能的人类自媒体博主存在的意义又是什么呢&#xff1f;拿什么跟GPT-4进行竞争呢&#xff1f;想到这个问题是不是会有些伤感&#xff1f; GPT-4 VS 人类博主…

chatgpt赋能python:Python复制粘贴的最佳实践

Python复制粘贴的最佳实践 在Python编程中复制粘贴代码可能是一项基本任务&#xff0c;但是如何以最好的方式完成这项任务&#xff1f;我们在本文中将介绍一些Python复制粘贴的最佳实践&#xff0c;以帮助您更高效地复制和粘贴代码。 何时可以复制粘贴代码&#xff1f; 复制…

【雕爷学编程】Arduino动手做(139)---E18-D80避障传感器模块

37款传感器与执行器的提法&#xff0c;在网络上广泛流传&#xff0c;其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块&#xff0c;依照实践出真知&#xff08;一定要动手做&#xff09;的理念&#xff0c;以学习和交流为目的&am…