Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 调整彩色热图_R_Csv_Heatmap_Bioinformatics_Gplots - Fatal编程技术网

R 调整彩色热图

R 调整彩色热图,r,csv,heatmap,bioinformatics,gplots,R,Csv,Heatmap,Bioinformatics,Gplots,我有一个8行5列的CSV文件,如下所示: ,MUT,AB1,M86,MU0,MZ4 2pc0,9.3235,9.2234,8.5654,6.5688,6.0312 2hb4,7.4259,7.9193,7.0837,6.1959,9.6501 3ixo,9.1124,4.8244,9.2058,5.6194,4.8181 2i0d,10.1331,9.9726,1.7889,2.1879,1.0692 2q5k,10.7538,0.377,9.8693,1.5496,9.869 4djq,12.

我有一个8行5列的CSV文件,如下所示:

,MUT,AB1,M86,MU0,MZ4
2pc0,9.3235,9.2234,8.5654,6.5688,6.0312
2hb4,7.4259,7.9193,7.0837,6.1959,9.6501
3ixo,9.1124,4.8244,9.2058,5.6194,4.8181
2i0d,10.1331,9.9726,1.7889,2.1879,1.0692
2q5k,10.7538,0.377,9.8693,1.5496,9.869
4djq,12.0394,2.4673,3.7014,10.8828,1.4023
2q55,10.7834,1.4322,5.3941,0.871,1.7253
2qi1,10.0908,10.7989,4.1154,2.3832,1.2894
我想用下面的R脚本绘制我的集合的热图,值[0;2]为绿色,[2;3]为黄色,[3;maxvalue]为红色,颜色应该以连续的方式演变

以下是我当前尝试使用的代码:

#########################################################
### A) Installing and loading required packages
#########################################################

if (!require("gplots")) {
   install.packages("gplots", dependencies = TRUE)
   library(gplots)
   }
if (!require("RColorBrewer")) {
   install.packages("RColorBrewer", dependencies = TRUE)
   library(RColorBrewer)
   }


#########################################################
### B) Reading in data and transform it into matrix format
#########################################################

data <- read.csv('/mypath/raw/raw.csv', comment.char="#")
rnames <- data[,1]                            # assign labels in column 1 to "rnames"
mat_data <- data.matrix(data[,2:ncol(data)])  # transform column 2-5 into a matrix
rownames(mat_data) <- rnames                  # assign row names


#########################################################
### C) Customizing and plotting the heat map
#########################################################

# creates a own color palette from red to green
my_palette <- colorRampPalette(c("green", "yellow", "red"))(n = 299)

# (optional) defines the color breaks manually for a "skewed" color transition
col_breaks = c(seq(0,2,length=200),  # for green
  seq(2,3,length=100),           # for yellow
  seq(3,15,length=1500))             # for red

# creates a 5 x 5 inch image
png("/mypath/raw/raw.png",    # create PNG for the heat map        
  width = 5*300,        # 5 x 300 pixels
  height = 5*300,
  res = 300,            # 300 pixels per inch
  pointsize = 8)        # smaller font size

heatmap.2(mat_data,
  cellnote = mat_data,  # same data set for cell labels
  main = "Correlation", # heat map title
  notecol="black",      # change font color of cell labels to black
  density.info="none",  # turns off density plot inside color legend
  trace="none",         # turns off trace lines inside the heat map
  margins =c(12,9),     # widens margins around plot
  col=my_palette,       # use on color palette defined earlier
  breaks=col_breaks,    # enable color transition at specified limits
  dendrogram="none",     # only draw a row dendrogram
  Colv="NA" )           # turn off column clustering

dev.off()               # close the PNG device
如果您能告诉我如何使用默认最大值替换15,并相应调整颜色范围和倾斜,我将非常感激

进一步问题:

我还打算重新组织有关输出的信息。我希望列和行标题位于顶部和左侧。此外,是否可以将以下情况框周围的轮廓追踪为(x,y)=(4,1)(5,2)(6,3)(7,4)(8,5)

我不确定你到底想要什么颜色。如果你想要一个连续的 颜色渐变,值>3时需要两种颜色(渐变应介于红色和红色之间) 还有哪种颜色?)。基本上缺少一种颜色(我加了“金色”)。 你可能会很容易地适应下面的例子,因为你口哨

请注意,休息的次数不应太多(而不是像您的问题中那样的数千次) 否则,钥匙将完全为白色

还要注意的是,从绿色到红色的渐变确实不被推荐为不可忽略的渐变 人口比例对这些颜色是色盲的(更喜欢蓝-红或蓝-绿)

据我所知,不可能将列和行放在标题中 在顶部和左侧空白处带有
热图。2
。画盒子也是不可能的。但是,您可以绘制水平线和垂直线

您可以查看Bioconductor软件包
ComplexHeatmap
,该软件包允许进行更多控制(包括绘图框和更改标签的位置)

库(gplots)
#> 
#>包装附件:“gplots”
#>以下对象已从“package:stats”屏蔽:
#> 
#>洛维斯

错误的数据是:我的调色板的长度(299)与col_breaks(1800)不同。谢谢,这非常有用!伟大的请考虑
Error in image.default(1:nc, 1:nr, x, xlim = 0.5 + c(0, nc), ylim = 0.5 +  : 
  must have one more break than colour