d3 を使用して積み上げ棒グラフを作成しています。
データは、バーごとに 1 つのオブジェクトを持つ配列です (たとえば、「いいね!」)。次に、各オブジェクトには、バーごとに個々の長方形を駆動する値の配列が含まれます。
data = [{
key = 'likes', values = [
{key = 'blue-frog', value = 1},
{key = 'goodbye', value = 2}
]
}, {
key = 'dislikes, values = [
{key = 'blue-frog', value = 3},
{key = 'goodbye', value = 4}
]
}]
チャートは次のように正常に機能しています。
// Create canvas
bars = svg.append("g");
// Create individual bars, and append data
// 'likes' are bound to first bar, 'dislikes' to second
bar = bars.selectAll(".bar")
.data(data)
.enter()
.append("g");
// Create rectangles per bar, and append data
// 'blue-frog' is bound to first rectangle, etc.
rect = bar.selectAll("rect")
.data(function(d) { return d.values;})
.enter()
.append("rect");
「いいね: 2」のようなツールチップを四角形ごとに作成したいと思います。これには、バー キーに関する情報を四角形にバインドすることが含まれます。これを行う方法が見つかりませんでした(データを変更する以外)。エレガントなソリューションが見えますか?
また、この質問を最善の方法で説明したかどうかもわかりません。より良いタイトルの提案があれば教えてください。