如何将文字附加到SVG

桑迪普·帕蒂尔(Sandeep Patil)

我正在尝试通过以下代码将文本附加到svg,因为我以下代码但无法正常工作。

var svg = d3.select("#chart");

        xScale.domain(data.map(function(d){return d.key;}))
        yScale.domain([0,d3.max(data,function(d){return d.doc_count;})])

        svg.append("g")
            .attr("class","axis")
            .attr("transform","translate("+margin.left+","+height+")") 
            .call(xAxis);

        svg.append("g")
            .attr("class","axis")
            .attr("transform","translate("+margin.left+",0)")
            .call(yAxis);

        svg.attr("width",width + margin.left + margin.right)
            .attr("height",height + margin.top + margin.bottom)
            .attr("transform", "translate(" + margin.left + "," + margin.top + ")");

        svg.selectAll("rect")
            .data(data)
            .enter()
            .append("rect")
            .attr("x",function(d){return margin.left + xScale(d.key)})
            .attr("y",function(d){return yScale(d.doc_count)})
            .attr("width", xScale.rangeBand())
            .attr("height", function(d) { return height - yScale(d.doc_count); })
            .attr("fill","teal");

        svg.selectAll("text")
            .data(data)
            .enter()
            .append("text")
            .text(function(d){return d.doc_count;})

最后,当我看到dom时,没有文本元素标签。

用户名

您正在调用call(xAxis)和call(yAxis),这将创建<text>元素,因此当您说d3.selectAll(“ text”)时,它将选择由call(xAxis)和call(yAxis)创建的那些元素。

因此,假设您的数据计数为5,那么它已经有5个<text>元素,并且不会追加新的元素。

将您的代码更新为

        svg.append("g")
            .attr("class","axis")
            .attr("transform","translate("+margin.left+","+height+")") 
            .call(xAxis);

        svg.append("g")
            .attr("class","axis")
            .attr("transform","translate("+margin.left+",0)")
            .call(yAxis);

在下面的代码之后

svg.selectAll("text")
        .data(data)
        .enter()
        .append("text")
        .text(function(d){return d.doc_count;})

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将字符串文字附加到从Select-Object命令返回的属性中

来自分类Dev

如何将模板附加到页面

来自分类Dev

如何将ContextMenuStrip附加到NotifyIcon

来自分类Dev

如何将消息附加到std :: exception?

来自分类Dev

如何将Parallel Grep的输出附加到文件?

来自分类Dev

如何将元素附加到主体?

来自分类Dev

如何将li附加到ul

来自分类Dev

如何将事件附加到对象以调整大小并单击

来自分类Dev

如何将文字附加到当前位置?

来自分类Dev

如何将列表附加到空的numpy数组

来自分类Dev

如何将eventListeners附加到动态生成的单选按钮?

来自分类Dev

如何将元素附加到KList?

来自分类Dev

如何将Flyout附加到MenuFlyoutItem?

来自分类Dev

如何将Blob附加到FormData

来自分类Dev

如何将Blob附加到dom?

来自分类Dev

如何将元素附加到div?

来自分类Dev

如何将模板附加到页面

来自分类Dev

如何将数据附加到元素

来自分类Dev

如何将文字附加到当前位置?

来自分类Dev

如何将URL附加到图像

来自分类Dev

如何将DateTime文字的时间部分附加到DateTime变量?

来自分类Dev

如何将文字附加到SVG

来自分类Dev

如何将函数附加到数组?

来自分类Dev

如何将项目附加到 Observable

来自分类Dev

如何将文本附加到 SVG 中的父级?

来自分类Dev

如何将矩形附加到 QGraphicView

来自分类Dev

如何将 segmentControl 附加到 NavigationBar?

来自分类Dev

如何将箭头附加到 UIBezierPath

来自分类Dev

如何将字典附加到字典?