Jak mogę dodawać znaki nowej linii do etykiet na wykresach D3?
Używam D3 do generowania wykresu słupkowego (dostosowałem kod zten przykład). Etykiety, których używam na stroniex-siła ma długość kilku słów, a ponieważ powoduje to, że wszystkie etykiety nakładają się na siebie, muszę podzielić te etykiety na linie. (Będzie dobrze, jeśli mogę zastąpić wszystkie spacje w każdej etykiecie znakami nowej linii.)
Próbowałem tego pierwotnie, zastępując spacje literalnymi znakami nowej linii (

) i ustawieniexml:space="preserve"
na etykietach ”<text>
elementy. Niestety okazuje się, że SVG nie respektuje tej właściwości. Następnie próbowałem zawinąć każde słowo w<tspan>
to mogłem później zaprojektować. Przekazałem każdą etykietę za pomocą tej funkcji:
function (text) {
return '<tspan>' + text.replace(/ /g, '</tspan><tspan>') + '</tspan>';
}
ale to po prostu dosłownie<tspan>
s do wyjścia. Jak mogę zawinąć moje etykiety tekstowetspan
s (lub zrób coś innego), aby moje etykiety się nie nakładały?