我正在使用agstudy修改日历热图(discussion和来源GitHub)
一般来说,代码工作得非常好,但我无法使我的色码工作。
在显示的示例中,前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
我无法找出颜色偏移的原因并且与预期的颜色代码不匹配。有谁知道可能是什么原因?
答案 0 :(得分:0)
最后,我发现它是如何运作的:
在第一次尝试中,我将每周的日期从1到24按升序分配。第一周的天数值设为1,第二周的天数为2,依此类推。列表colorMicro
包含24种颜色,这些颜色应该与个别周相对应。该列表多次包含颜色。
在第二次尝试中,我为所有日期分配了相同颜色的相同数字。同时我将相应的颜色放在列表colorMicro
中。这样,每种颜色在列表中仅出现一次,并且与日历中显示的数字的顺序相同。变量ncolors
我设置为大数,现在一切都按预期工作。
Example
鉴于R之外的数据生成,第一种方式对我来说更容易,但由于某种原因它不起作用。 知道这个事实,第二种方式也很容易,并导致适当的绘图行为。现在可以自由意志为每天或每周分配预定义的颜色,这就是我需要的。也许这对其他人也有用。