5.1 Sociograms and network visualizations

A sociogram is a graphic representation of a social network.6 Its goal is to transform mathematical representations of a network – e.g., an adjacency matrix – into a network drawing.

The creation a sociogram depends on network layout algorithms. Network layouts are simply algorithms that return coordinates for each node in a network. Before the invention of such algorithms, researchers had to use graph drawing heuristics to produce network graphs by hand, which could involve multiple iterations of drawing. Nowadays we ask the computer to do the job for us :).

Decision Point. How you make a sociogram depends on what information, such as network structures and patterns, you hope to visually convey. Even though sociograms we’ve seen in readings are predominantly force directed,7 it does not mean force-directed layouts are always the best choices.

The following knowledge and understanding are important for making a sociogram:8

  • Know common network visualization goals (e.g., revealing segregation, showing hierarchy)
  • Know network visualization types (e.g., heat maps, network maps, hive plots), and corresponding layout algorithms
  • Know visualization controls (e.g., size, color, shape, width, position)

Putting knowledge into action, when producing a sociogram you need to:

  1. Identify a network visualization goal (or goals)
  2. Choose a network visualization type
  3. Apply proper visualization controls
  4. If needed, repeat 1-3.

Below, I present a few network visualization examples that do not draw on force-directed layouts.

5.1.1 Example 1: Global Flight Network

(Source: visualisingdata.com)

  1. Goal: Visualize patterns of the global flight network, for example, to see intensive flight activities in certain areas
  2. Type: The coordinates are determined by the origin and destination of each flight. In other words, no additional algorithmic decisions are made beyond the use of a world map.
  3. Controls: Line color represents duration of a flight. Brightness of each line adds up to each other to represent the intensity of flight activities in certain areas.

Note: How will this visualization look differently if the map is not eurocentric? Does it matter? What ‘world-views’ might have been built into such a visualization?

5.1.2 Example 2: Networks of interaction in mobile animal groups

(See the article)

Here the concern is network dynamics, and the placement of each node (representing each individual animal) is based on its (projected) physical location in the real world.

Note: In this movie, which information naturally existed and which information was constructed by researchers?

5.1.3 Example 3: Migration Network


(Source: NYT: Where We Came From and Where We Went, State by State)

This visualization attempts to visualize migration flows into Minnesota across time. This visualization could be seen as a series of ego-centric networks of Minnesota in terms of migration into the state.

Note: Like Example 2, which information naturally existed and which information was constructed by researchers? Which decisions did the ‘data journalist’ make in this graph?

5.1.4 Example 4: Light Up the Curriculum


(See interactive version here)

This is a visualization made to demonstrate semantic similarity among three types of documents—curriculum standards, students’ online posts, and their verbal discussions. This visualization technique is called hive plots. Each axis represents a type of document. This visualization was chosen because researchers only cared about cross-type linkages and didn’t care about the links within each document type.

5.1.5 Example 5: The Food Network Backbone

If you are a foodie, you may appreciate this visualization of flavors backed up by some hardcore science. Do you find the use of graphical devices by the authors illuminating in this example?

5.1.6 Play more with network visualizations

This part is optional. I’m providing more materials for those who hope to explore network visualization a bit more. Also, note that there are some “advanced” concepts in these materials that we will discuss in later weeks.

Track R: I encourage you to follow this tutorial I’ve already mentioned above. You can download data and R scripts used in this tutorial from the author’s Github repository.

Track Gephi: I encourage you to read the first section of this tutorial. Also, check out the following video that demonstrates Scientific Literature Analysis using Gephi. You are also encouraged to check out the first 3 sections of this Gephi tutorial.

As always, please report back to our Slack home channel.


  1. Note that the description of models introduced here may not fit the philosophical worldview you feel comfortable with or subscribe to. Refer back to Section @ref{threelevels} for an earlier discussion we had about aligning methodology and philosophical viewpoints.

  2. The sna package provides a function named ego.extract for the same purpose.

  3. See http://kateto.net/network-visualization