あなたは正しい、伝説のトグルは、現在のスタックではなく、複合チャートのサブチャートに焦点を当てています。
凡例のトグルシステムをハックする可能性がありますが、ここでは拡張機能としてトグル機能を追加するだけです。
pretransition
イベントでグラフが描画されるまで待ってから、独自のクリックハンドラを各凡例アイテムに追加します。
composite.on('pretransition.hideshow', function(chart) {
chart.selectAll('g.dc-legend .dc-legend-item')
.on('click.hideshow', function(d, i) {
var subchart = chart.select('g.sub._' + i);
var visible = subchart.style('visibility') !== 'hidden';
subchart.style('visibility', function() {
return visible ? 'hidden' : 'visible';
});
d3.select(this).style('opacity', visible ? 0.2 : 1);
});
});
はまた、我々はアイテムが隠されていることを示すために、凡例項目を半透明に設定します:これは、そのCSSの表示を切り替えると、対応するサブチャートのためのセレクタを作成するために、凡例項目のインデックスを使用します。
これは魔法のようなものです。どこのチャートの名前(myCompositeChart)を右のものに向けるのですか?いつものようにありがとう。 – stutray
私の例では、JavaScriptチャートオブジェクト 'composite'を呼び出しました。これがあなたが求めているものなら、上記のブロックの最初の単語を変更するだけです。 (私は意図的にこれをコピーして貼り付けが簡単になるように 'chart'を内部に使用しています) – Gordon
ここで私は:** var myCompositeChart = dc.compositeChart("#Viz_Main2 "); **など、 ** myCompositeChart.on( 'pretransition.hideshow'、function(chart){ chart.selectAll( 'g.dc-legend .dc-legend-item') .on( 'click.hideshow'、function(d、サブタイトルを表示するサブチャート。スタイル( 'visibility'、 'visibility'、 'visibility')は、 ; }); });} *;}};} *;}}; * { * – stutray