We then printed the buttons on card-stock, cut them out with a circle cutter and used a button maker to achieve our final product. It was a lot of steps, but worth it.

Network Graph of Guests

From the beginning, we were set on the idea of making a network diagram of all of our wedding guests. We really liked the idea of a big banner that guests could look at to see who they knew, how everyone knew each other and get an overall sense of the communities that were important to us.

Additional reasons why a network chart made sense for us:

Zander has worked with network data and visualization professionally since 2012, We collaborated on several network features together at the Sunlight Foundation, Weddings are fundamentally about relationships, and networks are the best way to represent relational data.

The wedding was about strengthening our relationship with each other and bringing people together from disparate parts of our lives. We wanted a way to represent all of this coming together and connectedness visually.

To do this we needed to make a spreadsheet of who knew whom at our wedding — not just who knew which of us, but whether they knew each other. With 125 attendees that meant that there were 15,500 potential dyads [a dyad is a pair of connected people in a social network]. Going through these one by one and trying to remember if those two guests in fact knew each other or not seemed like a daunting task (especially since we had so much other stuff on our wedding to-do list!).

We opted for a slightly less accurate, but much easier solution: we created an affiliation graph, in which each guest is tied to a group of people within which we assume everyone knows each other.

For example, Zander’s Dad might be included in the following groups with the assumption that he would know everyone in each:

Zander Immediate Family

Zander Dad Family

Zander Mom Family

Zander Family Friend

Zander Childhood Friends

Amy Immediate Family

We then created a network connecting the guests to each other based on the assumption that everyone tied to the same group knew each other. This involves a bit of simple matrix math on the network data which you can read more about here.

That process gave us rough edge-list — a network data structure which simply lists all of the edges (connections) in the network as dyads (Person1, Person2) — of about 1,300 connections. We went through this list by hand deleting and adding connections that our first approximation did not capture. We added in weights to these edges, so that connections would appear stronger between parent-child relationships, siblings and couples.

Screenshot of the table of data

After the data creation and cleaning, Zander toyed around with a variety of layout algorithms and display options in Gephi (a GUI network visualization tool). Network layout is essentially arbitrary; there are innumerable algorithms and the position of each node (circle representing each guest) is a function of how the algorithm interprets the network rather than an intrinsic property of the graph structure. The goal is to create a visualization that highlights the aspects of the structure that the analyst wants to make salient — so we felt free to tweak this to our specifications.

We wanted the Amy and Zander nodes to be central and prominent, wanted to keep family and social groups together, and, importantly, didn’t want guests that only knew one or two other attendees to be forlornly stranded out by the edge of the graph. Again, we didn’t want to make anyone feel like they didn’t belong! Good design thinks about context, and weddings are a particular context.

Ultimately, Zander settled on the Force Atlas 2 layout algorithm (PDF) and then manually tinkered with the positions to prevent overlap, increase readability, highlight some of the structure we wanted, and make sure everyone fit inside the banner layout. Zander used Gephi to export a large PDF to Amy, who went to work in Adobe Illustrator.

Gephi export of the network

Amy first separated each of the components (dots, lines, names, background) to its own layer so that selecting one to change the design would be easier. She played with different color schemes from the wedding palette and increased the line weight between dots so the final product would print well.