感謝をフィドルからのコードを使用しています。引用されたチケットで私が与えた解決策は不完全で、私はそれを更新しました。
ブラシを表示するために使用される戻り値はfilterFunction
と考えられていました。実際にフィルタを適用しなかったのは、filterFunction
の主な目的です!
2つの変更が必要です。まず、フィルタ配列が空であるかどうかを確認し、その場合はディメンションのフィルタをクリアする必要があります。次に、得られたフィルタを次元に適用する必要があります。我々はまた
kpiMoveChart.filterHandler(function(dimension, filters) {
if(filters.length === 0) {
dimension.filter(null);
return filters;
}
// actually should only contain one filter but use .map as a convenience
var filters2 = filters.map(function(rangefilt) {
var low = keys[Math.ceil(rangefilt[0])], high = keys[Math.ceil(rangefilt[1])] || 'zzzz';
return dc.filters.RangedFilter(low,high);
});
dimension.filterRange(filters2[0]);
return filters2;
});
を取得
ので、代わりの
chart.filterHandler(function(dimension, filters) {
return filters.map(function(rangefilt) {
var low = keys[Math.ceil(rangefilt[0])], high = keys[Math.ceil(rangefilt[1])] || 'zzz';
return dc.filters.RangedFilter(low,high);
});
});
、あなたは一つの小さなタイプミスがあった:代わりにkeys[Math.ceil(rangefilt[1]) || 'zzzz']
のそれはあなたのバブルチャートでは、最後にkeys[Math.ceil(rangefilt[1])] || 'zzzz'
する必要があり、チャートのドメインを変更するには、通常、yAxisMin
と友だちを上書きする必要はありません。あなたがドメインを修正したい場合には、弾性をオフにして、直接ドメインを設定することがはるかにエレガントです:
kpiBubbleChart
.y(d3.scale.linear().domain([-10, 160]))
を(xAxisMin
とxAxisMax
をオーバーライドすると、そのスケールは序数であるため、任意の効果を持っているように見えるので、それはいつもだしませんでした。あなたは、コードが含まれていなかったので、おそらく近い投票があるhttps://jsfiddle.net/gordonwoodhull/g34Ldwaz/9/
:キーのリストを使用する予定)
はここにあなたのフィドルの私のフォークです。私は同意しませんが、SOの人たちはトリガーで幸せです。 – Gordon
@ Gordon ..助けてくれてありがとうございました。フィドルのコードはありますか(リンク:https://jsfiddle.net/Nahabwe/5qnbajvk/) –