d3 tspan append

Posted 功夫 熊猫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了d3 tspan append相关的知识,希望对你有一定的参考价值。

http://bl.ocks.org/enjalot/1829187

index.html#

<html>
    <meta charset=‘utf-8‘ />
<head>
</head>
<body>
    <svg>
    <text id=‘text_node‘ y="20px" text-anchor="start" opacity="1">
        <tspan>You</tspan>
        <tspan dx=‘.5em‘>shall</tspan>
        <tspan dx=‘.5em‘ dy=‘.9em‘>not</tspan>
        <tspan dx=‘.4em‘ dy=‘.9em‘>pass</tspan>

    </text>
</svg>
<script src="https://mbostock.github.com/d3/d3.js"></script>
<script>
    var node = document.getElementById(‘text_node‘);
    var bbox = node.getBBox();
    var computed_text_length = node.getComputedTextLength();

    //Does not work
    text_node = d3.select(‘#text_node‘)
    text_node.append(‘tspan‘)
        .text(‘Fly‘)
        .attr(‘dx‘, ‘.2em‘)
    text_node.append(‘tspan‘)
        .text(‘you‘)
        .attr(‘dx‘, ‘.2em‘)
        .attr(‘dy‘, ‘.9em‘)
    text_node.append(‘tspan‘)
        .text(‘fools‘)
        .attr(‘dx‘, ‘.2em‘)
        .attr(‘dy‘, ‘.9em‘)

    /*
    d3.select(‘#text_node‘).append(‘tspan‘)
        .text(‘Fly‘)
        .attr(‘dx‘, ‘.2em‘)
        .attr(‘dy‘, ‘.9em‘)

    d3.select(‘#text_node‘).append(‘tspan‘)
        .text(‘you‘)
        .attr(‘dx‘, ‘.2em‘)
        .attr(‘dy‘, ‘.9em‘)
    */

    console.log(‘BBOX width: ‘, bbox.width);
    console.log(‘Computed text length: ‘, computed_text_length);
</script>
</body>
</html>

LICENSE

以上是关于d3 tspan append的主要内容,如果未能解决你的问题,请参考以下文章

d3.select(this)不能用箭头函数

如何用刻度包裹 D3 标签

append() 在这个代码片段中是如何工作的?与特定变量混淆[重复]

D3 + React hooks + useEffect() - 防止在 mouseout 时重复调用 d3.append()

d3中的多行svg文本轴刻度

如何将 jQuery 对象转换为 d3 对象?