Live data from Hacker News

Sigma.js, a JavaScript library dedicated to graph drawing

sigmajs.org

31–38 of 38 posts

Re: Sigma.js, a JavaScript library dedicated to graph drawing

#33
Hello all, I'm a student at MIT working on a project building a general-case platform to create and explore graphs called WikiNets http://wikinets.co.uk/ with the goal of enabling half-formed ideas separated across different people's heads to come together (e.g. making a custom platform for http://hackathonprojects.tk/). Anyone want to work on this with us? I would love to find others who think on this same wavelength and I lament that (ironically) there's not yet a way online for people to find others with synergistic ideas! Feel free to poke me at jcole@mit.edu Incidentally, we're currently using D3, but welcome suggestions as well!

Re: Sigma.js, a JavaScript library dedicated to graph drawing

#34
post #3

What are the strengths of this library, relative to D3? How does Sigma work differently?

On the technical side: D3 is built on svg, looks like this is built on canvas. There are a few implications to both of those as far as compatibility and performance, but shouldn't make a difference in most cases. In general, D3 looks to be a more general purpose graphing tool (also maps, multiple charting types, and graphs), while this is more single purpose.

upvote, because this is the correct answer to the question "how does this work differently from d3," as opposed to the question, "what are the advantages/disadvantages of using this over d3."

a quick f12-for-firebug reveals that sigma indeed uses the canvas element. i haven't actually used the library, but it appears ( https://github.com/jacomyal/sigma.js/blob/master/package.jso... ) to in fact be built directly on canvas, which is impressive in some sense but probably does duplicate a lot of work that could be avoided by using a generic-canvas-drawing-but-not-specifically-graph-drawing library.

d3 stands for "data-driven-documents" and is actually not specific to graphs. at the core, it's about (as the expanded name suggests) connecting html documents to javascript data structures. of course, lots of libraries -- angular, etc. -- may be described in such general terms, so more specifically, d3 is useful when you have both a lot of data (or a lot of structure to your data) and a lot of html elements to layout according to that data.

it just so happens that is now actually a tag in html ( : / ? i mean that, the advances in the browsers themselves, was news to me, when i looked at d3 for the first time), so yeah, d3 is most commonly used when the elements you want to lay out are a bunch of svg tags.

anyway, i really like d3 (and probably would like three.js, for that matter, if i took the time to toy around with it) b/c i think it does one fairly general thing, does it well, and has practical applications.

Re: Sigma.js, a JavaScript library dedicated to graph drawing

#35

I started a project a couple months ago to create a 3D graph library similar to Sigma.js using ThreeJS (WebGL). You can check it out here https://github.com/frewsxcv/graphosaurus And a really crappy demo (give it a few seconds to load): http://vps.rwell.org/index-eve.html

Ah, the security levels of EVE Online systems. I'd recognize that data anywhere.

Re: Sigma.js, a JavaScript library dedicated to graph drawing

#37
We tested this with some Super Bowl social data we collected as part of a project.

First: looks really good, very easy to integrate.

Next: Am I missing it, or is there no way to visually represent the edge strength? Everything appears to be a 1px connection no matter how strong the edge.

Re: Sigma.js, a JavaScript library dedicated to graph drawing

#38
post #37

We tested this with some Super Bowl social data we collected as part of a project. First: looks really good, very easy to integrate. Next: Am I missing it, or is there no way to visually represent the edge strength? Everything appears to be a 1px connection no matter how strong the edge.

That is weird, indeed. The thickness of the edges should be related to their "size" value.

After that, check how sigma rescales the nodes and edges in the related wiki page:

https://github.com/jacomyal/sigma.js/wiki/Settings#wiki-resc...

Post reply on HN