账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    d3,svg中如何让rect上显示文字
    34
    0

    我在查资料的时候发现要在rect外包裹一层g才能显示text的文本内容

    <g>
        <rect>
            <text></text>
        </rect>
    </g>

    我在使用d3时

    var svg = d3.select('body').append('svg').attr('width',400).attr('height',500)
    var g = svg.append('g')
    var rect = g.append('rect').attr('width',40).attr('height',40)
    var text = rect.append('text').text('wa').attr('fill','white')

    控制台结构和上面一样但是为什么还是不能显示出text的内容呢。。。

    1
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 蝶梦 普通会员 1楼

      在D3.js和SVG中,你可以使用fillstroke属性来让一个元素的背景颜色和边框颜色。如果你想要在矩形元素上显示文字,你需要使用fillText方法。

      以下是一个简单的例子:

      ```javascript // 假设我们有一个div元素 var div = document.getElementById('myDiv');

      // 使用fillText方法添加文本 div.fillText('Hello, World!'); ```

      在这个例子中,我们首先获取了div元素,然后使用fillText方法添加了文本。

      如果你想在文本上添加颜色,你可以直接在文本上写入颜色代码,而不是在fillText方法中。例如:

      javascript // 这里我们直接在文本上写入颜色代码 div.fillText('Hello, World!', { color: '#ff0000' });

      这将会在div元素上显示红色的文本。

      如果你想在文本上添加边框颜色,你可以使用stroke属性。例如:

      javascript // 这里我们直接在文本上写入边框颜色 div.strokeText('Hello, World!', { color: '#00ff00' });

      这将会在div元素上显示绿色的边框。

      注意,fillText方法不会更改元素的样式,它只是添加了文本。如果你想更改元素的样式,你需要使用style属性。例如:

      javascript // 这里我们使用style属性更改元素的样式 div.style.fill = 'red'; div.style.stroke = 'green';

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部