Я пытаюсь собрать и разместить svg, используя nodejs, jsdom и d3 v4. Я написал обновленную версию этот пример, потому что он не работает как есть. Однако мне нужно вручную установить закрывающий тег svg, потому что я не знаю, как добавить путь внутри тела svg с помощью d3.
Как я могу добавить последний путь к примеру внутри svg, используя d3?
ОБНОВЛЕНИЕ 1
Этот раздел из обновленной версии позволяет структурировать основные разделы файла svg. После того, как все добавлено, второй раздел безуспешно пытается добавить данные пути, поскольку данные добавляются за пределы закрывающего тега svg:
var document = jsdom.jsdom();
var svg = d3.select(document.body)
svg.append('svg')
.attr('xmlns', 'http://www.w3.org/2000/svg')
.attr('xmlns:xlink', 'http://www.w3.org/1999/xlink')
.attr('width', width + pad.l + pad.r)
.attr('height', height + pad.t + pad.b)
.append('g')
.attr('transform', 'translate(' + pad.l + ',' + pad.t + ')')
.append('g')
.attr('class', 'x axis')
.call(xAxis)
.append('g')
.attr('class', 'y axis')
.call(yAxis)
.selectAll('.axis text')
.style('fill', '#888')
.style('font-family', 'Helvetica Neue')
.style('font-size', 11)
.selectAll('.axis line')
.style('stroke', '#eee')
.style('stroke-width', 1)
.selectAll('.domain')
.style('display', 'none')
svg.selectAll('path.samples')
.data([samples])
.enter()
.append('path')
.attr('class', 'samples')
.attr('d', line)
.style('fill', 'none')
.style('stroke', '#c00')
.style('stroke-width', 2)