4

2 つのデータ セットを示すグラフがあります。ユーザーはボタンを押して、別のデータ セットに切り替えることができます。問題は、軸が同じではないことですが、目盛りを更新したいときは、代わりに別の軸の上に重ねるだけです。

http://jsfiddle.net/scottieb/VjHd6/

キービットは最後にあります:

 vis.selectAll("axis").remove();

    vis.append("svg:g")
    .attr("class", "x axis")
    .attr("transform", "translate(0, " + (h - margin ) + ")")
    .call(d3.svg.axis()
    .scale(x)
    .tickSize(0)
    .tickSubdivide(true)
    .tickFormat(formatCurrency)
         );       

selectAll("g").remove() を試しましたが、次の軸を配置できません。何か案は?

4

2 に答える 2

0

あなたの問題は、セレクターが正しくないことです。「軸」を選択する代わりに、クラスに「g」ノードを追加しているため、「.axis」を選択する必要があります。

于 2013-12-19T18:59:21.290 に答える
0

おっと、まったく新しい軸を構築するのではなく、スケールを再定義してトランジションを呼び出す必要がありました。

http://jsfiddle.net/scottieb/JwaaV/

于 2012-05-28T15:16:45.620 に答える