【问题标题】:Error (relating to colours) when trying to plot using heatmap.2尝试使用 heatmap.2 绘图时出现错误(与颜色有关)
【发布时间】:2019-08-27 00:02:54
【问题描述】:

我正在尝试使用 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

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

【问题讨论】:

  • 嗨,您的示例不需要n=399 颜色吗?那么中断的数量 = 颜色的数量 + 1
  • 是的,我误解了这个数字的用途。如果您回复的是答案而不是评论,我会将其标记为已解决,以便下一个犯同样错误的布偶。谢谢你帮助我。

标签: r ggplot2 plot colors heatmap


【解决方案1】:

解决办法是:

# 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。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-27
    • 2013-12-28
    • 1970-01-01
    • 2014-04-30
    • 2019-01-10
    • 1970-01-01
    • 2016-11-08
    • 1970-01-01
    相关资源
    最近更新 更多