通過這里的一些問題,我能夠向我的 y 軸標簽添加一個事件偵聽器。但是,我想為每個 y 軸標簽添加不同的鏈接,以便當您單擊標簽(在我的示例中為數字)時,會打開一個新視窗。該鏈接存盤在我的 CSV 中,但我無法使用 function(d) {return d.url} 添加它。y 軸標簽是用陣列創建的可能是一個問題?有沒有人對此有解決方案?這是我的代碼https://codepen.io/Lea12/pen/dyzKEOV
var y_axis = d3.scaleBand()
.range([ height, 0 ])
.domain(data.map(function(d) { return d.activity; }))
.padding(0.01);
svg2.append("g")
.call(d3.axisLeft(y_axis))
.attr("class","y_axis")
.selectAll("text")
.on("click", function(d){window.open(d.url,"_blank")})
我的 csv 看起來像這樣:
組、活動、價值、卡片、網址
a,1,50,"card","www.google.de"
uj5u.com熱心網友回復:
只有活動陣列系結到您的軸,但您可以使用索引號從資料陣列中獲取 url。
svg2.append("g")
.call(d3.axisLeft(y_axis).tickFormat(function(d,i) { return data[i].url }))
.attr("class","y_axis")
.selectAll("text")
.on("click", function(d,i){ window.open(data[i].url,"_blank")});
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/359433.html
標籤:javascript d3.js
下一篇:d3x比例和底部的標簽
