随着时间的推移,我试图显示机器的状态。其中的一部分是复制/自动化以前用手工完成的报告。它包括根据机器正在做的事情在Excel中对2分钟的“时间切片”进行着色。
(对不起,没有足够的声誉发布一张照片,但这是一个经典的热图,在那里,州驱动颜色。)一些非DC-JS小提琴:http://jsfiddle.net/ww6Lbnc5/4/)
我能够在以下操作中生成我想要的大部分内容:http://jsfiddle.net/hwhfxz2t/14/
See fiddle for code.总状态持续时间(对于选定的时间框架)显示在pieChart中,后面是各个状态线,然后是人们习惯使用的热图。(缩放和日期选择按钮不会在小提琴中工作,但在那里可以选择特定的数据范围或放大(如果您愿意)。
线条图使用状态的原始表示,状态由输入状态的时间和持续时间组成。
为了使热图正常工作,我不得不(我想)将原始数据转换成单独的分钟块,并将它们标记为一个状态。因此,例如,原始数据指定:
运行状态启动14:30,用于300秒
变成:
14:30=RUN,14:31=RUN,14:32=RUN,14:33=RUN和14:34=RUNE 218
第233-297行中的代码循环遍历原始数据,并生成新的数据。在给定分钟内有多个状态的情况下,最后一个状态仍然存在。
这可以正常工作,但这段代码似乎正是在group().reduce(添加、删除、init)中通常所做的工作。但是在这种情况下,我需要根据状态的持续时间添加多个时隙。
另外,由于它现在使用的是不同的交叉过滤器,所以映射不会互相更新。
以下是我有关这方面的问题:
我不确定这是否应该在交叉过滤组。如果是的话,请不要理会我的闲谈。如果有人知道如何更好地分组保持图表的链接,请告诉我。
-尼科
发布于 2015-05-29 08:49:29
关于问题3:
DC.js热图目前不支持轴上的自定义订单函数,但是有一个已合并到开发分支中的拉请求,公众应该可以很快访问它。
您可以手动编辑dc.js文件以将热图中的排序设置为自定义函数。在最新版本(2.0.0-beta10)中,它是下面一行:
rowValues.sort(d3.ascending);相应地
colValues.sort(d3.ascending);https://stackoverflow.com/questions/28223298
复制相似问题