首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将所选内容显示到SVG矩形(JavaScript)

将所选内容显示到SVG矩形(JavaScript)
EN

Stack Overflow用户
提问于 2018-08-16 01:42:05
回答 1查看 242关注 0票数 2

我看到了this post last night,想要复制它/让它变得更好--因为它让我感兴趣。但是,我坚持将选择内容显示为SVG矩形。我认为通过在调用套索的函数中添加文本会起作用,但它不起作用。我已经包含了有问题的代码,并想知道我在哪里出错了,以便改进。谢谢。

如果你需要更多的代码,哈啦。

代码语言:javascript
复制
var textBox = svg.append("g")
        .attr("transform", "translate(5,385)");

textBox.append("rect")
        .attr("height", 10)
        .attr("width", 100)
        .style("stroke", "black")
        .style("fill", "none")
        .style("stroke-width", 1);

        var lasso_start = function() {
        lasso.items()
            .attr("r",7) 
            .classed("not_possible",true)
            .classed("selected",false);
};

var lasso_draw = function() {

        lasso.possibleItems()
            .classed("not_possible",false)
            .classed("possible",true);

        lasso.notPossibleItems()
            .classed("not_possible",true)
            .classed("possible",false);
};

var lasso_end = function() {

        lasso.items()
            .classed("not_possible",false)
            .classed("possible",false);

        selected = lasso.selectedItems()
            .classed("selected", true)
            .attr("r", 13);

        var selectedDots = selected.data().map(d=>d[0]);

};

var lasso = d3.lasso()
        .closePathSelect(true)
        .closePathDistance(100)
        .items(circles)
        .targetArea(area)
        .on("start",lasso_start)
        .on("draw",lasso_draw)
        .on("end",function(d) {
            textBox.append("text")
                .attr("x", 10)
                .attr("y", 20)
                .text(lasso_end)
});

svg.call(lasso);
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51863769

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档