d3.js的添加文本如何实现

关于d3.js的添加文本的问题,最近在利用d3开发一款标注工具,今天遇到一个小问题,就是对标注好的矩形或者是点旁边要给添加一个文本,从开始做就一直在尝试,但是始终是显示不出来。
这是我使用的d3版本

"d3": "^7.0.0",

画布中的元素是一个矩形,以下是生成矩形的代码

svg.append("g")
        .append("rect")  //添加一个矩形
        .attr("x",x0)
        .attr("y",y0)
        .attr("width",width1)
        .attr("height",height1)
        .attr("stroke", "yellow")
        .attr("fill", "yellow")
        .attr("fill-opacity", 0.1)

刚开始的思路很简单,就是接着在这串代码后边跟着写我要加的文本

svg.append("g")
        .append("rect")  //添加一个矩形
        .attr("x",x0)
        .attr("y",y0)
        .attr("width",width1)
        .attr("height",height1)
        .attr("stroke", "yellow")
        .attr("fill", "yellow")
        .attr("fill-opacity", 0.1)
        .append("title")
        .text("矩形1")

上述代码只是我尝试的一种,但是不管怎么写画布上始终没有,打开f12审核元素的时候,文本标签是存在的,后来在网上找了找相似的问题,有一种说法是你要添加的文本不能这样写,文本元素也是独立的,以下是完整代码

svg.append("g")
        .append("rect")  //添加一个矩形
        .attr("x",x0)
        .attr("y",y0)
        .attr("width",width1)
        .attr("height",height1)
        .attr("stroke", "yellow")
        .attr("fill", "yellow")
        .attr("fill-opacity", 0.1)
        


      svg.append("g")
        .append('text')
        .attr("x",x0+30)
        .attr("y",y0)
        .style('font-weight', 500)
        .style('font-family', 'Arial')
        .style('fill', 'red')
        .text("矩形1")

x和y是你用来控制文本元素显示的位置,其他的都是字体颜色,大小,字号什么的,text是你想要显示的文本元素内容,最终画布上内容是呈现了,要说的就是这么多。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Realistic-er

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值