因此,我一直在尝试使用D3plus来将文本包装在圆圈中,但没有成功。在我的应用程序中,我有几个圆/文本对,放在一起成为一个“ g”元素。在我的代码中,创建“ g”元素并将圆和文本附加到它之后,我像这样调用d3plus d3plus.textwrap()
函数:
d3plus.textwrap()
//selecting the first text element
.container(d3.select("#Text0"))
.draw();
但是,文本没有被包裹,而是消失了。文本仍然是DOM中的一个元素,但是由于某种原因,其大小变为0x0。有人知道这是怎么回事吗?
最佳答案
使用方法resize as true
作为以下代码:
<!DOCTYPE html>
<meta charset="utf-8">
<script src="//d3plus.org/js/d3.js"></script>
<script src="//d3plus.org/js/d3plus.js"></script>
<style>
svg {font-family:"Helvetica","Arial",sans-serif;height: 425px;margin: 25px; width: 400px;}
.type {fill: #888;text-anchor: middle;}
.shape {fill: #eee;stroke: #ccc;}
</style>
<svg>
<circle class="shape" r="85px" cx="275px" cy="300px"></circle>
<text id="circleResize" class="wrap" y="260px" x="200px" font-size="12">
Appeared Text inside circle </text>
</svg>
<script>
d3plus.textwrap()
.container(d3.select("#circleResize"))
.resize(true)
.draw();
</script>