首页 > 解决方案 > 尝试使用 heatmap.2 绘图时出现错误(与颜色有关)

问题描述

我正在尝试使用创建绘图,heatmap.2但我一直收到错误消息must have one more break than colour

如果有兴趣,我正在修改这个小伙子的代码:https ://sebastianraschka.com/Articles/heatmaps_in_r.html

这是有问题的代码部分:

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

# (optional) defines the color breaks manually for a "skewed" color transition
col_breaks = c(seq(0,0.15,length=100), #white
               seq(0.16,0.29,length=100), # for yellow
               seq(0.3,0.5,length=100), # for orange
               seq(0.51,1,length=100))    # for red

现在真正让我感到困惑的是,这有效:

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


# (optional) defines the color breaks manually for a "skewed" color transition
col_breaks = c(seq(0,0.29,length=100),  #white
                  seq(0.3,0.5,length=100), # for yellow
                  seq(0.51,1,length=100))  # for red

因为我似乎已经正确地修改了一次原始代码,然后我对为什么我没有再次这样做感到很困惑。

标签: rggplot2plotcolorsheatmap

解决方案


解决方案是:

# creates a own color palette 
my_palette <- colorRampPalette(c("snow", "yellow", "darkorange", "red"))(n = 399)

# (optional) defines the color breaks manually for a "skewed" color transition
col_breaks = c(seq(0,0.15,length=100), #white
               seq(0.16,0.29,length=100), # for yellow
               seq(0.3,0.5,length=100), # for orange
               seq(0.51,1,length=100))    # for red

唯一相关的变化是n=399,因为您定义了长度为 400 的 col_breaks。


推荐阅读