Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
D3.js 如何访问d3元素dom数据?_D3.js - Fatal编程技术网

D3.js 如何访问d3元素dom数据?

D3.js 如何访问d3元素dom数据?,d3.js,D3.js,我有一个包含以下元素的页面: <svg version="1.1" class="chart avg@i" data-href='[{"name": "ken", "age": "40"}]'></svg> 所以我会得到两张图表(我的意思是,有更多的d3的东西,但你知道的)。我想要的是,在图表所针对的特定元素中,使用href中的数据填充图表数据 我该怎么做?为了清楚起见,我需要一个“肯”图和一个不同的“仁”图。根据我的理解,您需要从每个SVG收集数据href属性,并使

我有一个包含以下元素的页面:

<svg version="1.1" class="chart avg@i"  data-href='[{"name": "ken", "age": "40"}]'></svg>
所以我会得到两张图表(我的意思是,有更多的d3的东西,但你知道的)。我想要的是,在图表所针对的特定元素中,使用href中的数据填充图表数据


我该怎么做?为了清楚起见,我需要一个“肯”图和一个不同的“仁”图。

根据我的理解,您需要从每个SVG收集数据href属性,并使用相同的数据在该SVG内创建图表

希望这段代码对您有所帮助

var宽度=200,
高度=200,
保证金={
左:5,,
右:5,,
前五名,
底数:5
};
var chart=d3。选择全部(“.chart”)
.attr(“宽度”,宽度+边距。左侧+边距。右侧)
.attr(“高度”,高度+边距。顶部+边距。底部)
.附加(“g”)
.attr(“转换”、“平移”(+margin.left+)、“+margin.top+”);
图表.每个(函数(){
var data=JSON.parse(d3.select(this.parentNode.attr(“data href”));
d3.选择(本)
.selectAll(“文本”)
.数据(数据)
.输入()
.append(“文本”)
.attr(“dy”,函数(d,i){return(i+1)+“em”})
.文本(功能(d){
返回d.name
});
});
svg{
边框:1px纯红;
}


您让我走上了一条更好的道路,但似乎数据数组包含了所有数据,因此每个图表都使用了所有数据-我希望图表只使用与该图表相关的数据。Hi Bharal,我已更新了答案。希望这能有所帮助。言语无法表达我的感激之情。你是冠军,谢谢。
<svg version="1.1" class="chart avg@i"  data-href='[{"name": "Jen", "age": "40"}]'></svg>
var chart = d3.selectAll(".chart")
    .attr("width", width + margin.left + margin.right)
    .attr("height", height + margin.top + margin.bottom)
    .append("g")
    .attr("transform", "translate(" + margin.left + "," + margin.top + ")");