D3 - Добавить SVG внутри SVG - PullRequest
0 голосов
/ 07 мая 2018

Я пытался добавить набор SVG в SVG. Итак, внутри SVG я хочу создать функцию для построения графика. Однако, это не работает так, как я ожидал, так как внутренние SVG не имеют измерения в соответствии с моей спецификацией. Итак, я хотел бы знать, что пошло не так.

svg_g_g = svg_g.append("g")
                    .selectAll("g")
                    .data(data)
                    .enter()
                    .append("g")
                    .attr("transform", function(d) {
                        return "translate(" + xScale(d.key) + "," + lift + ")"
                    })
                    .append("svg")
                    .attr("width", function(d) { return xScale(d.key) })
                    .attr("height", height)

                    .append("line")
                    .style("stroke", "black")
                    .attr("x1", function(d) { return xScale(d.key) })
                    .attr("y1", height-100)
                    .attr("x2", function(d) { return xScale(d.key) + 50 } )
                    .attr("y2", height-100);

Это вывод. enter image description here

Хотя если я свяжу данные с g (без добавления svg), результат будет более многообещающим.

svg_g_g = svg_g.append("g");
        svg_g_g.selectAll("line")
                    .data(data)
                    .enter()
                    .append("line")
                    .style("stroke", "black")
                    .attr("x1", function(d) { return xScale(d.key) })
                    .attr("y1", height-100)
                    .attr("x2", function(d) { return xScale(d.key) + 50 } )
                    .attr("y2", height-100);

и это результат. (обратите внимание: в этом случае были показаны линии)

enter image description here

Любая помощь будет оценена.

edit: что я хотел сделать, так это то, что я хотел создать коробочную диаграмму, я использовал здесь набор данных "iris", поскольку я могу сравнить его с другими библиотеками визуализации данных. Текущее состояние Я попытался создать SVG с одинаковым размером для каждой категории, которую я бы использовал, чтобы содержать блок-график. Другими словами, после того, как я смогу успешно создать внутренние SVG, я вызову функцию для создания графика оттуда. Вроде та же идея, что Майк сделал здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...