日历热图:颜色未指定

时间:2016-06-13 06:40:14

标签: r heatmap levelplot

我正在使用agstudy修改日历热图(discussion和来源GitHub

一般来说,代码工作得非常好,但我无法使我的色码工作。 Example

在显示的示例中,前3周应为红色,第4周应为红色。总共这个序列应该重复6次,即应该有6周的蓝色(每4次)。

为了实现我的颜色代码,我从文件中加载十六进制代码中的颜色列表,并将其命名为“用户':

UITextView

data_2的内容是:

col.sty <- switch(color,
'user'=data_2$colorMicro,
'r2b'=c("#0571B0", "#92C5DE", "#F7F7F7", "#F4A582", "#CA0020"), #red to blue                                                                               
'r2g'=c("#D61818", "#FFAE63", "#FFFFBD", "#B5E384")  , #red to green
'w2b'=c("#045A8D", "#2B8CBE", "#74A9CF", "#BDC9E1", "#F1EEF6"),   #white to blue
'b2w'=grey.colors(5) )## black to white
# assign("col.sty", get(color))
calendar.pal <- colorRampPalette((col.sty), space = "rgb")

这些是我希望在热图中表示的24周的24个颜色值。变量colorMicro #CC0000 #CC0000 #CC0000 #00CCFF #CC0000 #CC0000 #CC0000 #00CCFF #CC0000 #CC0000 #CC0000 #00CCFF #CC0000 #CC0000 #CC0000 #00CCFF #CC0000 #CC0000 #CC0000 #00CCFF #CC0000 #CC0000 #CC0000 #00CCFF 设置为24,ncolors设置为ncolors-1。

与agstudy的代码相比,我稍微改变了我的等级图设置。

cuts

我无法找出颜色偏移的原因并且与预期的颜色代码不匹配。有谁知道可能是什么原因?

1 个答案:

答案 0 :(得分:0)

最后,我发现它是如何运作的:

第一次尝试中,我将每周的日期从1到24按升序分配。第一周的天数值设为1,第二周的天数为2,依此类推。列表colorMicro包含24种颜色,这些颜色应该与个别周相对应。该列表多次包含颜色。

第二次尝试中,我为所有日期分配了相同颜色的相同数字。同时我将相应的颜色放在列表colorMicro中。这样,每种颜色在列表中仅出现一次,并且与日历中显示的数字的顺序相同。变量ncolors我设置为大数,现在一切都按预期工作。 Example

鉴于R之外的数据生成,第一种方式对我来说更容易,但由于某种原因它不起作用。 知道这个事实,第二种方式也很容易,并导致适当的绘图行为。现在可以自由意志为每天或每周分配预定义的颜色,这就是我需要的。也许这对其他人也有用。