首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何手动设置heatmap.3/heatmap.2颜色键?

如何手动设置heatmap.3/heatmap.2颜色键?
EN

Stack Overflow用户
提问于 2015-03-31 16:15:20
回答 1查看 813关注 0票数 1

我想显示自定义范围的breaks范围

代码语言:javascript
复制
breaks=seq(0, 1500, by=20)

要在颜色键中显示。是否有手动设置颜色键范围的方法?

代码语言:javascript
复制
heatmap.3(x, Rowv=T, Colv=F, col=mycol, RowSideColors=custom.annotation, scale="none", trace="none", dendrogram="row", breaks=breaks, cexRow=1, cexCol=1, key=T, main="Heatmap of raw seq reads", na.rm=TRUE)

编辑:

这是一个粗糙的解决方案,但我最终改变了代码本身。星号之间显示的修改。

代码语言:javascript
复制
if (key) {
          #    par(mar = c(5, 4, 2, 1), cex = 0.75)
          par(mar = c(5, 4, 2, 1), cex = 1)
          tmpbreaks <- breaks
          if (symkey) {
               max.raw <- max(abs(c(x, breaks)), na.rm = TRUE)
               min.raw <- -max.raw
               tmpbreaks[1] <- -max(abs(x), na.rm = TRUE)
               tmpbreaks[length(tmpbreaks)] <- max(abs(x), na.rm = TRUE)
          }
          else {
               #      min.raw <- min(x, na.rm = TRUE) # original code
               #      max.raw <- max(x, na.rm = TRUE) # original code
******************************
               if(length(breaks)>10){ # if custom breaks, then set min/max to min/max of breaks, etc
                    min.raw <- min(breaks, na.rm = TRUE)
                    max.raw <- max(breaks, na.rm=TRUE)
               }else{ # else, set min, max to min/max of values
                    min.raw <- min(x, na.rm = TRUE)
                    max.raw <- max(x, na.rm = TRUE)
               }
******************************

          }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-31 17:31:04

代码语言:javascript
复制
if (key) {
          #    par(mar = c(5, 4, 2, 1), cex = 0.75)
          par(mar = c(5, 4, 2, 1), cex = 1)
          tmpbreaks <- breaks
          if (symkey) {
               max.raw <- max(abs(c(x, breaks)), na.rm = TRUE)
               min.raw <- -max.raw
               tmpbreaks[1] <- -max(abs(x), na.rm = TRUE)
               tmpbreaks[length(tmpbreaks)] <- max(abs(x), na.rm = TRUE)
          }
          else {
               #      min.raw <- min(x, na.rm = TRUE) # original code
               #      max.raw <- max(x, na.rm = TRUE) # original code
******************************
               if(length(breaks)>10){ # if custom breaks, then set min/max to min/max of breaks, etc
                    min.raw <- min(breaks, na.rm = TRUE)
                    max.raw <- max(breaks, na.rm=TRUE)
               }else{ # else, set min, max to min/max of values
                    min.raw <- min(x, na.rm = TRUE)
                    max.raw <- max(x, na.rm = TRUE)
               }
******************************

          }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29373430

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档