The Bipartite Network Graph algorithm plots a bipartite network, that is, a network with exactly two distinct types of nodes. For instance, in the network below, one type of node represents a person, and the other type represents an action. The Extract Bipartite Network algorithm is an easy way to generate networks that are graphable by this plugin.
The nodes and edges can each be independently weighted. The algorithm chooses which column to put a node in based on a node attribute called "bipartitetype." For details on the input format, see Usage Hints below.
- Source code in SVN
- Also requires:
- http://in.cns.iu.edu/svn/nwb/branches/geo-nete/edu.iu.sci2.visualization.geomaps and its dependencies (see Geospatial Visualization)
- All these weird branch-y things will be fixed in the next week or so - Thomas, 3/21/2012
- Test code:
Pros & Cons
It's easy to see the network structure in bipartite networks because of the obvious separation between the two different node types. However, medium to large networks (50+ nodes) may not look very good.
The graph is rendered to a PNG file and a PostScript (PS) file.
This is the network file (NWB (.nwb) format) that was used to generate the example graphs above:
The nodes are required to have an attribute called "bipartitetype". Note that in the above network, the two values of "bipartitetype" are "Who and "What". These are also the titles of the columns in the graph. This attribute is used to determine which column the nodes should go in. You can generate your own network with this attribute, or you can use the Extract Bipartite Network algorithm.
The weights ("totaldesirability" and "linkdesirability") were generated using an aggregation function file with the Extract Bipartite Network algorithm. For more on this, see Extract Bipartite Network and the Extract Co-Occurrence Network page (for info on aggregation functions).
To generate the graph file above, I imported no-man.csv into Sci2, then ran the Extract Bipartite Network algorithm. I chose "Who" and "What" as the First and Second Column parameters, and used aggfunc-man.txt as the Aggregate Function File. I saved the resulting file as a NWB file.
- Left side node type: which of the two values of "bipartitetype" should put a node in the left-hand column? The other type of nodes will go on the right.
- Node size: which node attribute should be used to scale the size of the nodes? If none is selected, the nodes will all be the same size.
- Edge weight: which edge attribute should be used to set the darkness of the edges between nodes? If none is selected, the edges will all be the same color.
- Title for left column: the title to print above the left column of nodes. If left blank, the value of "bipartitetype" for this column will be used.
- Title for right column: just like the left column.
This algorithm makes use of the javaGeom library.