Я использую D3 для создания гистограммы (я адаптировал код из этот пример). Ярлыки, которые я использую на оси x, имеют длину в пару слов, и поскольку это перекрывает перекрытие ярлыков, мне нужно разбить эти метки по строкам. (Это будет хорошо, если я смогу заменить все пробелы в каждой метке новыми символами.)
Я изначально попробовал это, заменив пробелы буквальными символами новой строки (
) и установив xml:space="preserve" в элементы label <text>. К сожалению, оказывается, что SVG не уважает это свойство. Затем я попытался обернуть каждое слово в <tspan>, которое я мог бы позже создать. Я передал каждую метку через эту функцию:
function (text) {
    return '<tspan>' + text.replace(/ /g, '</tspan><tspan>') + '</tspan>';
}
 но это просто помещает литерал <tspan> в вывод. Как я могу обернуть мои текстовые метки в tspan (или сделать что-то еще), чтобы мои ярлыки не перекрывались?