Code Monkey home page Code Monkey logo

ggnet-paper's People

Contributors

briatte avatar heike avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar

ggnet-paper's Issues

Rename sctyner/ggnet?

Would it make sense to you both to rename the sctyner/ggnet repo to something like sctyner/geomnet, to avoid any confusion with the ggnet and ggnet2 functions at briatte/ggnet? This would allow me to release ggnet and ggnet2 as a standalone repo (since it is unlikely that GGally will get an update soon).

Text structure and examples

I'd like to suggest using slightly less examples along a different text structure.

Section 1. Implementations

Once we are done with introducing the topic, we need to present and compare the three implementations. The Mad Men example works well to show their similarities, and it can illustrate both undirected and directed graphs.

The Email example works well to show a difference between ggnet2 and the two other implementations. The difference has to do with edge overplotting: ggnet2 shows all edges in the email network, which creates differences in edge thickness (Figure 3a), while the two others plot only one edge between connected nodes. As a result, edge thickness is not the same in Figure 3a and in the other subfigures of Figure 3. We probably need to fix the text here to discuss weighted networks (more on that later).

Perhaps the Blood example can be of some use in that section, if we want to illustrate the use of different network layouts, or if we want to show the raw network data, since the dataset is small.

Section 2. Temporal networks

Another topic in the text is the representation of temporal networks, which the Email example illustrates quite well. This could easily be a section on its own.

There are basically two approaches: use true ggplot2 facets, or generate multiple plots and assemble them into a single one. geom_net shows the first approach, and ggnet2 the second one; ggnetwork currently uses the second approach but I should be able to use the first one, really.

On the topic of temporal networks, see this new package.

Section 3. Geographic networks

Spatial networks could also be a section on their own. The Bikes example seems ideal to me (not too large, might work with ggmap once the package gets fixed).

On spatial networks, see also this package.


The text includes many more examples, but their illustrative value-added is not always obvious to me.

  • The Football example might be useful to show how to color (or style) edges based on an edge attribute. On that topic, I'm pretty sure that the plots in Figure 8 would look better if edge color (instead of linetype) were used to show same-conference ties.
  • The _Misérables_ network is famous, and it currently illustrates differences in edge size, but edge size is also illustrated by the Bikes example, and the Email example should probably be used to discuss weighted edges.
  • The Yeast example illustrates the random network layout, but this example seems redundant with the Blood example to me.

What do you think? We could also have one big section on implementation (which I believe should also cover directed and weighted networks), and another big one on spatial and temporal networks.

Bipartite networks?

Right now, we do not discuss bipartite networks (or k-partite networks) at all. Perhaps we could ask Pedro Jordano for permission to use the data from this example.

Speed tests

The speed-tests part of the paper is harder than expected.

The tests on random graphs are not producing the same results for @heike and for me; I'm now also running the tests on an old MacBook running Linux Xubuntu, and the results are different again.

Here's what I get:

screen shot 2015-11-01 at 21 50 06

It could be due to the "print results" part of the tests. Perhaps we should save to file as PDF instead, but that would just bias the test differently by getting I/O speed into it.

The tests on the protein network are strange on my end: this script produces highly homogenous runtimes that are so close to each other that they do not form boxplots.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.