使x轴在交叉滤波器动态
Making X-axis in cross filter dynamic
我正在学习d3和交叉过滤器。我通过从json文件读取数据绘制了使用交叉过滤器和dc的图表。但是,我的json文件是动态的。它一直在更新。我遵循(http://dc-js.github.io/dc.js/)上的示例,其中x轴被预定义并通过使用
限制在一个范围内。.x(d3.time.scale().domain([new Date(1985, 0, 1), new Date(2012, 11, 31)]))
然而,这是一个问题,我的情况下,json文件得到更新每次。有解决这个问题的方法吗?X轴和Y轴都可以是弹性的吗?如果是,那么是怎么做的?我的代码是这样的:
var facts = crossfilter(result);
var barChart1 = dc.barChart("#dc-marketing-chart");
var devValue = facts.dimension(function (d) {return d.date_hour;});
var devValueGroupSum = devValue.group().reduceSum(function(d) { return d.metric;})
barChart1.width(960)
.height(150)
.margins({top: 10, right: 10, bottom: 20, left: 40})
.dimension(devValue)
.group(devValueGroupSum)
.transitionDuration(500)
.elasticY(true)
.x(d3.time.scale().domain([new Date(2014, 4, 1), new Date(2014, 4, 14)]))
.xAxis();
dc.renderAll();
}
问题解决。! !试试下面的代码片段:
var facts = crossfilter(result);
var barChart1 = dc.barChart("#dc-marketing-chart");
var devValue = facts.dimension(function (d) {return d.date_hour;});
var devValueGroupSum = devValue.group().reduceSum(function(d) { return d.metric;});
var minDate = devValue.bottom(1)[0].date_hour;
var maxDate = devValue.top(1)[0].date_hour;
barChart1.width(960)
.height(150)
.margins({top: 10, right: 10, bottom: 20, left: 40})
.dimension(devValue)
.group(devValueGroupSum)
.transitionDuration(500)
.elasticY(true)
.x(d3.time.scale().domain([minDate,maxDate]))
.xAxis();
dc.renderAll();
}
您可以尝试.elasticX(true)
,但我认为那里可能潜伏着一些bug。
相信1.6版本比2.0版本更好。
相关文章:
- 无法从 jQuery RSS Feed 中的 localStorage 动态替换类
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 动态分配GA增强型电子商务跟踪器
- onkeyup无法动态创建多个文本区域
- 使用javascript将动态表从一个html页面打印到另一个html页
- 如何使Javascript动态html表及其上的事件
- 动态地改变“”的URL;添加新项目”;链接使用javascript/jquery
- 如何在Bootstrap Modal中为动态点击生成的变量设置jade属性
- 如何使用javascript从主svg对象动态创建svg视图框
- 试图在引导模式内动态生成图表,得到offsetWidth错误
- 通过在Dojo mobile ViewController.openExternalView中动态更改打开同一外部视图的
- 如何在Google柱状图中动态添加行/列
- 困在逻辑中试图定位动态的东西
- 在动态创建的元素上获取对特定选择器的引用
- 如何动态插入jquery代码
- 使用Google Visualization动态调用构造函数
- 使用jQuery动态添加表并在其中动态添加行
- d3基于用户选择动态更新节点
- 使用JQuery的动态上下文菜单
- 使x轴在交叉滤波器动态