如何向路径添加文本

时间:2016-11-10 15:35:59

标签: javascript d3.js

我怀疑我正在咆哮错误的树 - 尽管我在控制台中没有任何错误可以帮助我。

我有这段代码:

list()

var path = svg.data([json]).selectAll("path") .data(partition.nodes) .enter() .append("path") .attr("display", function(d) { return d.depth ? null : "none"; }) .attr("d", arc) .style("stroke", "#fff") .style("fill", function(d) { return color((d.children ? d : d.parent).name); }) .attr("fill-rule", "evenodd") .style("opacity", 1) .each(stash); //>>this section functions ok path.append("title") .text(function(d) { return d.name + ": " + d.amount; }); //>>this section throws no errors but "foo" does not appear path.append("text") .text(function(d) { return "foo"; }) .style("stroke", "#3b5998") .style("fill", "#3b5998"); 开始的代码段工作正常,但最后的片段path.append("title")...将文本foo添加到html但在网页上不可见 - 为什么它不可见,我该如何添加标签?

这是视觉效果的一部分:

http://plnkr.co/edit/q9ODd5?p=preview

2 个答案:

答案 0 :(得分:3)

text无法与path嵌套。您需要将其添加到svg。此外,您还希望以某种方式定位文本:

  svg.append("text")
    .text(function(d) {
        return "foo";
    })
    .attr("x", function(){ return 0 })
    .attr("y", function(){ return 0 })
    .style("stroke", "#3b5998")
    .style("fill", "#3b5998");

答案 1 :(得分:1)

工作代码如下结束:

dfs = [df0, df1, df2, dfN]
df_final = reduce(lambda left,right: pd.merge(left,right,on='DateTime'), dfs)