Skip to content

Can't figure how to use .data() #2

@goulu

Description

@goulu

I'm trying to write a collaborative graph editor using D3Fire (a previous version was more or less working with a Django server) . My attempt is here : https://github.com/goulu/firegraph

My problem is I can't figure out how to retrieve the source+target data from the links. Currently I have:

function updateGraph() {

    var nodes = svg.selectAll(".node").data();
    var links = svg.selectAll(".link").data();

    packer
        .nodes(nodes)
        .links(links)
        .on("tick", function(d) {
            //...
                });
            packer.links().forEach(function(d) {
                d3.select(d)
                    .attr("d", path);
            });
        })
        .start();
}

but it crashes in start() because links contains undefined objects.

in your demo, how would you create the links list it it were stored in firebase ?

function layThemOut() {
                    var nodes = wordCloud.selectAll('g')[0], links = [];

BTW why do you use a [0] after selectAll for nodes instead of .data() ?

Thanks for any help, and thanks for your piece of code which will be extremely useful to me !

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions