因此,我一直在尝试使用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>

09-25 14:28