如何使用d3 js在SVG文件上创建带有文本的圆圈
how to create circles with text over svg file using d3 js?
我是d3 js的初学者。我有一个div,其中包含有svg文件的对象标记。
我需要在svg文件上创建文本圆圈,并使用d3 js绑定点击函数。
提前谢谢。下面是我的html代码:
<div class="span8 canvasDiv">
<object data="img/floor.svg" type="image/svg+xml" id="floorCanvas"></object>
</div>
JS代码:
var svgContainer = d3.select("#floorCanvas");
var circle = svgContainer.append("circle")
.attr("cx", 30)
.attr("cy", 30)
.attr("r", 20);
你需要创建一个'g'标签,然后将圆圈和文本都附加到'g'上,因为你不能直接将文本附加到SVG形状上,所以像这样(未测试):
HTML:
<div class="span8 canvasDiv">
<object data="img/floor.svg" type="image/svg+xml" id="floorCanvas"></object>
</div>
JS代码:
var svgContainer = d3.select("#floorCanvas").append('svg').append('g').attr('id', 'circleWithText');
var circleWithText = d3.select("#circleWithText");
circleWithText .append("circle")
.attr("cx", 30)
.attr("cy", 30)
.attr("r", 20);
circleWithText.append('text')
.attr('class', 'text')
.attr("dx", "0")
.attr("dy", "0")
.text('what ever you want here');
CSS .text{
text-anchor: middle;
color: steelblue;
position:relative;
font: 14px Calibri;
}
这几行
相关文章:
- onkeyup无法动态创建多个文本区域
- 文本表示法VS.构造函数,用于在JavaScript中创建对象
- 如何在 JavaScript 中创建输入文本框
- 如何在php中创建一个函数,该函数与文本区域一起工作,通过输入类似[color:red]的内容来打印具有等效颜色的文本
- 如何为动态创建的文本区域中输入的值更新ng模型
- 创建闪烁“;文本“;在javascript中
- 使用删除文本创建新行
- 使用其他页面上表单的文本创建链接
- 数组函数不适用于从元素文本创建的JavaScript数组
- 从空格分隔的文本创建和实现数组:AngularJS
- 由表达式文本创建的正则表达式是否共享单个实例
- 如何在 RaphaelJS 中根据需要为文本创建默认属性并链接其他属性
- 如何使用在用户输入后继续显示的前置文本创建文本字段
- 如何从 html 格式的文本创建元素
- 从文本区域中的选定文本创建列表html
- 在DIV中动态地围绕所选文本创建SPAN
- 在Jquery UI对话框中基于触发器锚点的文本创建动态按钮名称
- 如何在飞行中用文本创建链接?——JQuery初学者
- 从文本创建链接
- 如何仅为文本创建正则表达式模式