首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >dc.js热图扩展数据

dc.js热图扩展数据
EN

Stack Overflow用户
提问于 2015-01-29 19:47:55
回答 1查看 629关注 0票数 0

随着时间的推移,我试图显示机器的状态。其中的一部分是复制/自动化以前用手工完成的报告。它包括根据机器正在做的事情在Excel中对2分钟的“时间切片”进行着色。

(对不起,没有足够的声誉发布一张照片,但这是一个经典的热图,在那里,州驱动颜色。)一些非DC-JS小提琴:http://jsfiddle.net/ww6Lbnc5/4/)

我能够在以下操作中生成我想要的大部分内容:http://jsfiddle.net/hwhfxz2t/14/

代码语言:javascript
复制
See fiddle for code.

总状态持续时间(对于选定的时间框架)显示在pieChart中,后面是各个状态线,然后是人们习惯使用的热图。(缩放和日期选择按钮不会在小提琴中工作,但在那里可以选择特定的数据范围或放大(如果您愿意)。

线条图使用状态的原始表示,状态由输入状态的时间和持续时间组成。

为了使热图正常工作,我不得不(我想)将原始数据转换成单独的分钟块,并将它们标记为一个状态。因此,例如,原始数据指定:

运行状态启动14:30,用于300

变成:

14:30=RUN14:31=RUN14:32=RUN14:33=RUN14:34=RUNE 218

第233-297行中的代码循环遍历原始数据,并生成新的数据。在给定分钟内有多个状态的情况下,最后一个状态仍然存在。

这可以正常工作,但这段代码似乎正是在group().reduce(添加、删除、init)中通常所做的工作。但是在这种情况下,我需要根据状态的持续时间添加多个时隙。

另外,由于它现在使用的是不同的交叉过滤器,所以映射不会互相更新。

以下是我有关这方面的问题:

  1. 我可以在不提供所有单个“单元”的信息的情况下显示热图吗?(即基于一个值的跨单元格,类似于表中的行跨度)
  2. 我可以一次在group().reduce()中添加多个值吗?
  3. 是否有一种简单的方法来倒置yAxis,使0位于顶部?
  4. 单击热图中的一行时,它会选择列,反之亦然?

我不确定这是否应该在交叉过滤组。如果是的话,请不要理会我的闲谈。如果有人知道如何更好地分组保持图表的链接,请告诉我。

-尼科

EN

回答 1

Stack Overflow用户

发布于 2015-05-29 08:49:29

关于问题3:

DC.js热图目前不支持轴上的自定义订单函数,但是有一个已合并到开发分支中的拉请求,公众应该可以很快访问它。

您可以手动编辑dc.js文件以将热图中的排序设置为自定义函数。在最新版本(2.0.0-beta10)中,它是下面一行:

代码语言:javascript
复制
rowValues.sort(d3.ascending);

相应地

代码语言:javascript
复制
colValues.sort(d3.ascending);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28223298

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档