我正在尝试制作四个条形图,使用按钮对我想要显示的那个进行分类。一般情况下,一切都很有效,正如您在code中看到的那样。 但是,现在我尝试添加工具提示[here] [2],并意识到每个图表的数据都不会更新。有谁知道我怎么能这样做?我想在var tip上实现if-else语句来选择正确的按钮:
var tip = d3.tip()
.attr('class', 'd3-tip')
.offset([-10, 0])
.html(function(d) {
if(d3.select("#propertyCategory"))
return "No: <strong>" + d.propertyName + "</strong> foram registrados <strong>" + d.vacant + "</strong>";
})
然而,它不起作用,说实话我不明白在这种情况下如何正确实施选择,我在d3.js中有点不知所措,所以我不知道可以做些什么解决这个问题。
答案 0 :(得分:0)
可能你可以有一个变量
var selected = "ano2009";//set it to default value
现在每当更改年份时,都会更改所选变量。
像这样:
d3.select("#vacant")
.on("click", function() {
selected = "vacant";
//Update scale domain
像这样:
d3.select("#totalUnits")
.on("click", function() {
selected = "totalUnits";
......等等
现在在tip功能中你可以这样做:
var tip = d3.tip()
.attr('class', 'd3-tip')
.offset([-10, 0])
.html(function(d) {
//note d[selected] will select the clicked year data.
return "No: <strong>" + d.propertyName + "</strong> foram registrados <strong>" + d[selected] + "</strong>";
})
工作代码here