1

さまざまなハイパーリンクをクリックしてチャートをトゥイーンすると、円グラフのスライスがトゥイーンされますが、各スライスのラベルを表示する方法がわかりません。

ほとんど動作する JSfiddle はこちらです: http://jsfiddle.net/lukateake/MX7JC/

あなたが私に提供できる洞察を前もって感謝します。私は、この効果が非常に多くの D3'er にとって興味深いものであると想像するので、発見した解決策でフィドルを更新することを約束します。

4

1 に答える 1

2

ここでの主な問題は、updateChart 関数にあります。データをアークにリバウンドしている間、sliceLabel ではそうしませんでした: (2 行目が追加されました)

arcs.data(donut(data.pct)); // recompute angles, rebind data
sliceLabel.data(donut(data.pct));

もう1つの小さなこと-スライスラベルのテキスト選択は少し奇妙に思えます:

var sliceLabel = label_group.selectAll("text.value")

ただし、class = "value"; でテキストを作成していません。これは実際にはあまり影響しませんが、他の実装では問題を引き起こす可能性があります - ここでは selectAll("text") または selectAll("text.arcLabel") がより適切かもしれません。

http://jsfiddle.net/MX7JC/9/で更新されたフィドル

于 2012-05-10T00:57:04.890 に答える