我正在使用dc.js制作一个简单的仪表板。我的数据由date
, node
, type
, variable
和value
五列组成。它结合了资源监视数据和事件。它们定义在变量列中,在cpu、hd、int、mem和event类别下。类型列是NA,表示资源和一个详细说明事件类型的特定字符串。值列对应于某一时刻某一资源的数量,如果这一行对应于某一事件,则为1。
话虽如此,我想绘制一个散点图,x轴上是日期,y轴上是事件的存在与否,但我还没有做到这一点。我担心这与对交叉过滤的错误理解有关。我对如何编码维度相当有信心,我有这个:
var eventDim = ndx2.dimension(function(d){
if (d.variable=="event"){
return [d.Date.getTime(),d.type];
}
});
但是我无法掌握如何创建组来做我想做的事情,以及我必须将什么valueAccessor作为参数传递给散点图来绘制我想要的内容。
如有任何帮助,不胜感激。
您为维度指定的函数应该只返回您希望在该维度中使用的键。多键/数组键往往不能很好地工作,所以最好使用日期而不是将其包装在数组中,除非您确实需要将类型作为键的一部分。
我也不会试图过滤那里的数据。在行不是事件的情况下,您将返回undefined
,它往往不会很好地排序,也不会跳过行。
相反,我建议也许用reduceSum创建组,传递一个函数,非事件返回0,事件返回1。通过这种方式,您将获得每个日期的事件数。
这只是一个开始。希望能有所帮助!