javascript - svg文本元素内的不可见文本

标签 javascript d3.js

我有一个简单的函数,应该显示几个文本元素。

function d3manipulation() {
    var svg = d3.select("body").append("svg")
        .attr("width", 500)
        .attr("height", 500);
    var nodes = [
        { "name": "Michael" },
        { "name": "John" }
    ];
    svg
        .selectAll("text")
        .data(nodes)
        .enter()
        .append("text")
        .text(function(d) { return d.name; });
}

但是页面上什么也没显示。我也没有任何控制台错误。

但是,inspector 显示实际上存在包含数据的 text 元素。

<svg width="500" height="500">
    <text>Michael</text>
    <text>John</text>
</svg>

问题是什么?

最佳答案

像 @jrook 建议的那样,给它一个 xy 就足够了。 (默认填充为黑色)

var svg = d3.select("body").append("svg")
        .attr("width", 500)
        .attr("height", 500);
    var nodes = [
        { "name": "Michael" },
        { "name": "John" }
    ];
    svg
        .selectAll("text")
        .data(nodes)
        .enter()
        .append("text")
        .text(function(d) { return d.name; })
        .attr('x', 20)
        .attr('y', (d, i) => 30 + 20 * i);
<script src="https://d3js.org/d3.v5.min.js"></script>

关于javascript - svg文本元素内的不可见文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53022847/

相关文章:

javascript - 如何根据对象数组中的属性值获取唯一计数

javascript - Konva addEventListener 单击多个图像

javascript - Google Chrome : JavaScript associative arrays, 乱序评估

javascript - 使用 NVD3.js 构建有焦点的折线图。为什么我的焦点栏坏了

javascript - d.source 是什么? [文档指的是其本身]

javascript - import 在 Javascript 中到底是如何工作的

javascript - 单击 Div 外部以将其关闭。 SVG 和 D3, Angular

d3.js - topojson 安装疑难解答

javascript - D3 力导向图方向

javascript - d3.js slider : how to get value?