私はsvgにテキスト要素を追加しようとしていますが、そのうちの3つを追加しています。私はバインドメソッドを使って実際のデータを追加し始めたので、それが問題だと思った。しかしそれを取り除き、データをハードコーディングすることは役に立たなかった。 "d"は37個のフィールドを持つオブジェクトです。余分なテキスト要素を追加するeventListener
function handleMouseOver(d, i) {
// Add interactivity
let myLabel = d['ROBBERY'];
var svg = d3.select("svg");
// Use D3 to select element, change color and size
var text = svg.selectAll("text")
.data(d['ROBBERY'])
.enter()
.append("text")
.attr("id",i);
var textLabels = text
.attr("x", w-50)
.attr("y", h-30)
.text(function() {
return myLabel;
})
.attr("font-family", "sans-serif")
.attr("font-size", "20px")
.attr("fill", "red");
// Specify where to put label of text
}
......
.on("mouseover", handleMouseOver)
ページ上の他のテキスト要素要素はありません。
私はこれらの3を取得:
<text id="5" x="750" y="170" font-family="sans-serif" font-size="20px" fill="red">951</text>
<text id="5" x="750" y="170" font-family="sans-serif" font-size="20px" fill="red">951</text>
<text id="5" x="750" y="170" font-family="sans-serif" font-size="20px" fill="red">951</text>
'd ['ROBBERY']'の値は何ですか? –
私はそれを少しきれいにしました、私はイベントハンドラの残しにかっこを持っていました。それは何が起こっているかには影響しませんでしたが、あなたの質問に答えるために、d [ROBBERY]の値は951です – mike628