在一个对象中,我存储了用d3.js制作的折线图,它可以刷选定区域.
单击折线图的选定部分外部时,将删除所选区域.
我想删除所选区域点击外部链接,例如.[重启]
不幸的是,即使我从折线图对象访问画笔对象,在画笔对象上调用clear()也不会删除选择.
如何使用外部折线图中的外部链接删除画笔选择?
我创建画笔:
this.brush = d3.svg.brush()
.x(xScale)
.on('brushstart', function() {
lineChart.brushStart();
})
.on('brushend', function() {
lineChart.brushEnd();
});
Run Code Online (Sandbox Code Playgroud)
我创建刷牙区域:
this.brushArea = svg.append('svg:g')
.attr('class', 'brush')
.call(this.brush)
.selectAll('rect')
.attr('height', this.height);
Run Code Online (Sandbox Code Playgroud)
在外部链接上我输入clear()命令:
<span onclick="javascript: lineChart.brush.clear();">[reset]</span>
Run Code Online (Sandbox Code Playgroud)
它不会从折线图中删除选择.
请帮忙.
有关brush.clear()的文档效率不高.
拉丝区域图片:
http://i39.tinypic.com/2uxzprp.jpg
单击粉红色区域旁边的工作,单击[重置]链接不会.
马里乌什
我有一个JavaScript数组的数组:
[[-786, 2], [-783, 1], [-782, 5], [-781, 1], [-779, 2], [-778, 1], [-775, 1], [-774, 1], [-773, 1], [-771, 2], [-769, 1], [-767, 1], [-766, 1], [-763, 2], [-760, 2]]
Run Code Online (Sandbox Code Playgroud)
如何根据子数组中第二个元素的值获得最大元素?
在上面的情况下,我想得到元素:
[-782, 5]
Run Code Online (Sandbox Code Playgroud)
因为5是所有子阵列中最大的第二个值.如果有多个具有较大第二个值的子数组,我想得到第一个.
马里乌什
使用brush.extent([val1,val2])刷涂时遇到问题
关于文档:https://github.com/mbostock/d3/wiki/SVG-Controls当我设置brush.extent([val1,val2])时,如下所示:
var xScale = d3.scale.linear()
.domain(data)
.range([0, 500]);
var brush = d3.svg.brush()
.x(xScale)
.on('brushstart', function() {
this.brushStart();
})
.on('brushend', function() {
this.brushEnd();
})
.extent([100, 300]);
Run Code Online (Sandbox Code Playgroud)
它将在xAxis上显示从100到200的拉丝区域(刷子可见并且在右侧位置).
不幸的是,当我使用d3.time.scale()时,它根本不起作用:
var xScale = d3.time.scale()
.domain(data)
.range([0, 500]);
var brush = d3.svg.brush()
.x(xScale)
.on('brushstart', function() {
this.brushStart();
})
.on('brushend', function() {
this.brushEnd();
})
.extent([100, 300]);
// or
// .extent(['2013-08-01T00:00:00Z', '2013-08-10T23:59:59Z']);
// or
// .extent(['2013-08-01 00:00:00', '2013-08-10 23:59:59']);
// or even
// .extent([new Date(2013, 8, 1, 00, 00, 00), new …Run Code Online (Sandbox Code Playgroud)