D3.js(在 Coffeescript 中)显示点击数据
D3.js ( in Coffeescript) show data on click
我正在使用 D3.js 创建气泡图。现在我希望它在我单击每个气泡时在 <h3 id="comment"></h3>
标记中显示评论。
这是我的 data.csv 文件:
name,count,group,comment
apple,5,red,"This is the best apple ever."
grape,10,purple,"Grapes are huge."
banana,8,yellow,"Are these bananas even ripe?"
pineapple,1,yellow,"Great for making juice."
...
在我的 viz.coffee 中,我有:
idValue = (d) -> d.name
textValue = (d) -> d.name
groupValue = (d) -> d.group
commentValue= (d) -> d.comment
原来我是用下面的代码在点击时显示气泡的名称:
updateActive = (id) ->
node.classed("bubble-selected", (d) -> id == idValue(d))
if id.length > 0
d3.select("#comment").html("<h3>#{id} is selected.</h3>")
else
d3.select("#comment").html("<h3>Nothing is selected</h3>")
我应该如何更改它,以便在您单击气泡时显示评论?
我试过了:
updateActive = (id) ->
node.classed("bubble-selected", (d) -> id == idValue(d))
if id.length > 0
d3.select("#comment").html(d.comment)
else
d3.select("#comment").html("<h3>Click on a bubble to read its comment.</h3>")
但它似乎不起作用,因为 d
未定义,我明白为什么,但我不确定我应该做什么。请帮忙。
尽管我不完全确定您的代码,但我认为这应该可行:
updateActive = (id) ->
node.classed("bubble-selected", (d) -> id == idValue(d))
if id
for x in data when idValue(x) is id
d3.select("#comment").html(commentValue(x))
else
d3.select("#comment").html("<h3>Click on a bubble to read its comment.</h3>")
此处 data
是您通过 .data()
提供给 d3 的内容。
我正在使用 D3.js 创建气泡图。现在我希望它在我单击每个气泡时在 <h3 id="comment"></h3>
标记中显示评论。
这是我的 data.csv 文件:
name,count,group,comment
apple,5,red,"This is the best apple ever."
grape,10,purple,"Grapes are huge."
banana,8,yellow,"Are these bananas even ripe?"
pineapple,1,yellow,"Great for making juice."
...
在我的 viz.coffee 中,我有:
idValue = (d) -> d.name
textValue = (d) -> d.name
groupValue = (d) -> d.group
commentValue= (d) -> d.comment
原来我是用下面的代码在点击时显示气泡的名称:
updateActive = (id) ->
node.classed("bubble-selected", (d) -> id == idValue(d))
if id.length > 0
d3.select("#comment").html("<h3>#{id} is selected.</h3>")
else
d3.select("#comment").html("<h3>Nothing is selected</h3>")
我应该如何更改它,以便在您单击气泡时显示评论?
我试过了:
updateActive = (id) ->
node.classed("bubble-selected", (d) -> id == idValue(d))
if id.length > 0
d3.select("#comment").html(d.comment)
else
d3.select("#comment").html("<h3>Click on a bubble to read its comment.</h3>")
但它似乎不起作用,因为 d
未定义,我明白为什么,但我不确定我应该做什么。请帮忙。
尽管我不完全确定您的代码,但我认为这应该可行:
updateActive = (id) ->
node.classed("bubble-selected", (d) -> id == idValue(d))
if id
for x in data when idValue(x) is id
d3.select("#comment").html(commentValue(x))
else
d3.select("#comment").html("<h3>Click on a bubble to read its comment.</h3>")
此处 data
是您通过 .data()
提供给 d3 的内容。