2016-08-14 3 views
1

Итак, я пытаюсь использовать D3plus для обертывания текста внутри кругов, но без успеха. В моем приложении у меня несколько пар круга/текста, которые объединены в элемент «g». В моем коде, после того, как я создаю элементы «G» и добавить круги и текст к нему я называю d3plus d3plus.textwrap() функции, как это:D3 плюс обертывание текста кругами

d3plus.textwrap() 
    //selecting the first text element 
    .container(d3.select("#Text0")) 
    .draw(); 

Однако, вместо того, чтобы укутав, текст просто исчезает. Текст по-прежнему отображается как элемент в DOM, но по какой-то причине его размер становится 0x0. Кто-нибудь знает, что здесь не так?

+0

попробуйте этот код 'd3plus.textwrap() контейнер (d3.select ("# Text0")) размер (истина) .draw();.. ' –

ответ

2

Использование метода 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>