Live data from Hacker News

NetworkX 3.0 - create, manipulate, and study complex networks in Python

networkx.org

51–58 of 58 posts

Re: NetworkX 3.0 - create, manipulate, and study complex networks in Python

#51
post #49

I presented the new dispatching feature at PyData Global back in December. The first 30 minutes of the follow video: https://youtu.be/pd-Sbm8lHTc?t=46 It shows how to use the feature, some benchmarks, and how other graph libraries can become plugins to the NetworkX dispatching mechanism.

Great talk!

This slide shows some speedups when using the GraphBLAS [1] backend [2]:

https://i.postimg.cc/mr3mkKtx/100x-Faster-Network-X.png

[1] https://github.com/python-graphblas/python-graphblas

[2] https://github.com/python-graphblas/graphblas-algorithms

Re: NetworkX 3.0 - create, manipulate, and study complex networks in Python

#52
post #23

By the way if you want to explore network science but don't really know where to start, consider Gephi (currently being refactored, and just updated a few days ago) or Cytoscape (if you're more drawn to bioinformatics). Both make it easy to load/generate standard datasets, import tabular data, and have a good selection of plugins. It's easy to kick stuff out to either from NetworkX using /gefx or graphml, and you'll…

I've had a lot of luck with Gephi for fairly complex graphs (~10000 nodes and edges), in particular it has some very powerful layout algorithms. It can be very helpful to have immediate visual feedback when untangling something like that. Nice to see that development is ongoing, the GUI used to feel a bit clunky but 0.10 seems a lot better!

Seconding this. Get Gephi, install as many plugins as possible, and dig into the plugin pages to find the underlying papers. Also true for Cytoscape, but that tool focuses a little more on connectivity to bio databases and extremely specific stuff like proteomics.

Re: NetworkX 3.0 - create, manipulate, and study complex networks in Python

#54
NetworkX documentation is the source of one of my favourite surreal sentences: A lobster is a tree that reduces to a caterpillar when pruning all leaves. [0, with a tiny alteration]

[0] https://networkx.org/documentation/stable/reference/generate...

Re: NetworkX 3.0 - create, manipulate, and study complex networks in Python

#55

Earlier quoted context omitted.

Do you have any advice/ideas about ways to learn about graph layout algorithms themselves, including dynamic/real-time algorithms (which allow for user interaction)? I have been skimming through various papers and the first book on this page [0], in particular the chapter on force directed algorithms, because they seem to be the earliest and most general graph drawing methods. [0] http://graphdrawing.org/books.html

It's kind of a mysterious art, and I too mostly rely on scientific papers. It's a surprisingly small field and you need to get into the habit of chasing down citations in papers, because many important ideas got laid out long before the computer power existed to realize them at scale. Sometimes a 20-30 year old paper of only a few pages has the actual algorithm, and it's so well known in the field that it no longer s…

> I've been studying/applying stuff from this field for ~15 years

Would you mind elaborating on the work you do with graph visualisation?

Thank you for the offer, I'll certainly contact you after I familiarise myself with some more classic research material.

Re: NetworkX 3.0 - create, manipulate, and study complex networks in Python

#56

Earlier quoted context omitted.

> I kind of assumed people would know Not everyone writes Python, and not all Python programmers have heard of this particular library.

Not all people are programmers and not all people have heard of programming. This post is catered to an audience that probably knows what NetworkX is.

This is not the same thing. Hacker News as a website is catered to an audience that is mostly familiar with programming. I would say it's safe to assume for any given visitor that they are probably aware of basic computing and programming terminology, but not that they would know what "NetworkX" means.

The new title is fitting (it specifies what it's a Python library now).

Re: NetworkX 3.0 - create, manipulate, and study complex networks in Python

#57

Earlier quoted context omitted.

It's kind of a mysterious art, and I too mostly rely on scientific papers. It's a surprisingly small field and you need to get into the habit of chasing down citations in papers, because many important ideas got laid out long before the computer power existed to realize them at scale. Sometimes a 20-30 year old paper of only a few pages has the actual algorithm, and it's so well known in the field that it no longer s…

> I've been studying/applying stuff from this field for ~15 years Would you mind elaborating on the work you do with graph visualisation? Thank you for the offer, I'll certainly contact you after I familiarise myself with some more classic research material.

I'm not an innovator in this space. I'm interested in swarm dynamics as manifested in structures of information exchange (like conversations) and the extent to which these have inherent structures that could be described by Lindenmeyer systems.

Re: NetworkX 3.0 - create, manipulate, and study complex networks in Python

#58

Earlier quoted context omitted.

Do you have any advice/ideas about ways to learn about graph layout algorithms themselves, including dynamic/real-time algorithms (which allow for user interaction)? I have been skimming through various papers and the first book on this page [0], in particular the chapter on force directed algorithms, because they seem to be the earliest and most general graph drawing methods. [0] http://graphdrawing.org/books.html

It's kind of a mysterious art, and I too mostly rely on scientific papers. It's a surprisingly small field and you need to get into the habit of chasing down citations in papers, because many important ideas got laid out long before the computer power existed to realize them at scale. Sometimes a 20-30 year old paper of only a few pages has the actual algorithm, and it's so well known in the field that it no longer s…

In 30 years this is truly the first time anyone said "well-documented". "Very well documented." Yes. Actually a lot of credit goes to the inheritors of this project (Magnus Jacobsson, Matthew Fernandez, Mark Hansen, and a boost from Steve Roush and Costa Shulyupin) for bringing some sense of order and self-respect.

It's thrilling someone else noticed the Nocaj et al. Simmelian backbone paper. There is a directory somewhere on this computer of an implementation in graphviz that Emden Gansner wrote a couple of years ago. (It should at least be uploaded to graphviz gitlab so we don't ever lose it.) All we need now is a summer intern to finish the job. Sometimes it's natural to miss Bell Labs and even AT&T Labs a whole lot.

Post reply on HN