我正在为一个可视化项目学习d3和dc.js。我实验的网址在这里:http://junklogic.com/d3scratch/index.html
我有一个10个条目的小CSV文件如下。我有两个与前两个条目有关的问题:
creature_name,seenby,date,severity
Dragon,Bob,2013-11-11T10:23:24,1
Dire Wolf,Sue,2013-11-11T08:24:23,3
Unicorn,Jim,2013-11-12T11:10:10,1
Unicorn,Ann,2013-11-12T12:45:45,1
Kraken,Bob,2013-11-12T08:31:51,2
Chimera,Ann,2013-11-12T01:05:08,2
Unicorn,Ann,2013-11-13T04:49:36,1
Unicorn,Bob,2013-11-14T09:22:26,1
Chimera,Ann,2013-11-16T12:37:04,2
Troll,Ann,2013-11-18T18:01:58,3我遇到的两个问题是:
提前感谢您的帮助。这是一个新的体验,我希望我的代码是可以理解的。
发布于 2014-01-08 02:58:19
您的x轴域是"2013-11-11T10:23:24“到"2013-11-18T18:01:58”。
var xScale = d3.time.scale().domain([new Date(data[0].date), new Date(data[data.length - 1].date)]);您的x维是四舍五入的一天,所以您的酒吧将呈现在"2013-11-11T00:00:00“。因此,前两个值小于域的下端。您可能需要使用d3.time.day计算域..。也许每一端都有一个日缓冲区。
var severityByDay = info.dimension(function(d) {
return d3.time.day(d.date);
});试着看看所有的酒吧:
var xScale = d3.time.scale().domain([new Date(2013, 10, 10), new Date(2013, 10, 19)]);至于条形图上的图例,你会想要给每个堆栈命名.否则,它将默认为堆栈的索引。
来自https://github.com/NickQiZhu/dc.js/blob/master/web/docs/api-latest.md#stack-mixin
.stack( group,name,accessor )将一个新的交叉筛选器组堆栈到此图表中,可以选择一个自定义值访问器。因此,同一图表中的所有堆栈都将共享相同的密钥访问器,因此共享同一组密钥。用更具体的话来说,想象一下,在一个堆叠的条形图中,所有的条形图将使用x轴上的同一组键来定位,同时垂直地堆放。如果指定了名称,那么它将用于生成图例标签。
这似乎显示了正确的值和正确的颜色:
.group(severityHigh, "1")
.stack(severityMed, "2")
.stack(severityLow, "3")
.colors(graphColors)
.colorDomain([1, 3])希望这能帮上忙!-DJ
https://stackoverflow.com/questions/20980204
复制相似问题