无法重置焦点顺序条形图
Unable to reset the focus ordinal bar chart
我正在尝试在选择了一些个人的酒吧后重新设置。
index.html:(第 62 行)
<span>
<a href="javascript:focus.filterAll(); dc.redrawAll();" class="reset">reset</a>
</span>
这似乎不起作用。我能够重置所有图形饼图、折线图等,但不能重置这个。
这两个序数图是在 index.js
中创建的,如下所示:
var focus = new dc.barChart('#focus');
var range = new dc.barChart('#range');
https://blockbuilder.org/ninjakx/483fd69328694c6b6125bb43b9f7f8a7
更新:
现在看起来很奇怪,因为它只显示一个条,所有条都看不见,但我希望它们可见(灰色)但不可点击。
此示例将条形图的内置过滤功能替换为其自己的序号选择实现,因为图表具有线性刻度。
该示例使用全局变量focusFilter
来存储当前选择。我们需要清空它,我们还需要像原来的 filterAll
那样更新维度过滤器,将代码从点击处理程序中拉出:
focus.applyFilter = function() { // non-standard method
if(focusFilter.length)
this.dimension().filterFunction(function(k) {
return focusFilter.includes(k);
});
else this.dimension().filter(null);
};
focus.filterAll = function() {
focusFilter = [];
this.applyFilter();
};
这也将允许 dc.filterAll() 工作,因为 "reset all" link。
由于某些原因,我无法获得原件
<a href="javascript:focus.filterAll(); dc.redrawAll()">reset</a>
links 完全无法在此块中工作,因此我将它们替换为等效的 D3 单击处理程序:
d3.select('#reset-focus').on('click', () => {
focus.filterAll();
dc.redrawAll();
})
d3.select('#reset-all').on('click', () => {
dc.filterAll();
dc.redrawAll();
})
我也更新了the focus ordinal bar example。请注意,重置 link 的自动 hiding/showing 不起作用,因为图表内部仍有不相关的范围过滤器。
我正在尝试在选择了一些个人的酒吧后重新设置。
index.html:(第 62 行)
<span>
<a href="javascript:focus.filterAll(); dc.redrawAll();" class="reset">reset</a>
</span>
这似乎不起作用。我能够重置所有图形饼图、折线图等,但不能重置这个。
这两个序数图是在 index.js
中创建的,如下所示:
var focus = new dc.barChart('#focus');
var range = new dc.barChart('#range');
https://blockbuilder.org/ninjakx/483fd69328694c6b6125bb43b9f7f8a7
更新:
现在看起来很奇怪,因为它只显示一个条,所有条都看不见,但我希望它们可见(灰色)但不可点击。
此示例将条形图的内置过滤功能替换为其自己的序号选择实现,因为图表具有线性刻度。
该示例使用全局变量focusFilter
来存储当前选择。我们需要清空它,我们还需要像原来的 filterAll
那样更新维度过滤器,将代码从点击处理程序中拉出:
focus.applyFilter = function() { // non-standard method
if(focusFilter.length)
this.dimension().filterFunction(function(k) {
return focusFilter.includes(k);
});
else this.dimension().filter(null);
};
focus.filterAll = function() {
focusFilter = [];
this.applyFilter();
};
这也将允许 dc.filterAll() 工作,因为 "reset all" link。
由于某些原因,我无法获得原件
<a href="javascript:focus.filterAll(); dc.redrawAll()">reset</a>
links 完全无法在此块中工作,因此我将它们替换为等效的 D3 单击处理程序:
d3.select('#reset-focus').on('click', () => {
focus.filterAll();
dc.redrawAll();
})
d3.select('#reset-all').on('click', () => {
dc.filterAll();
dc.redrawAll();
})
我也更新了the focus ordinal bar example。请注意,重置 link 的自动 hiding/showing 不起作用,因为图表内部仍有不相关的范围过滤器。