Skip to Main Content

DAsH

Research Guide for DAsH (or digital humanities) resources and tools

What is Palladio?

Palladio is a web-based software created at Stanford for use in creating simple web-based network graphs. It is great for use for less complex graphs since there is no software to download and putting in both the nodes and the links between them is as easy as copying and pasting information into a box. When the graph is created, filtering it down to only the nodes with certain attributes is a cinch as well.

However, if you are looking for a graph you can host on your own website, or if you want to customize your graph beyond just making one set of nodes larger than another based on a few options of measurement, this program is too unsophisticated for your needs. You can take a screenshot, but you can't embed your graph and host it somewhere else. While you can make the nodes a different size based on the amount of connections they have or amount of nodes they are connected to, you can't make nodes of different categories distinct in their own ways, so if you're trying to display multiple kinds of information about what you are creating, Gephi or NodeXL might be more fitting for you.

Learning Goals

When you're making a network analysis graph, the initial data that you work from will either be structured or unstructured. If it's structured, that means that it's already some kind of table or chart where who is connected to who is clearly listed, as well as any other pertinent data about that connection. If you were trying to do a network analysis of campaign donations and the data you got was formatted something like the below table, it would be structured.

Donor Candidate Amount
Nerese Campbell Clarence Royce 300
Stringer Bell Clay Davis 5000
Andy Krawczyk Clay Davis 5000
Andy Krawczyk Clarence Royce 3000

Because you received your information on campaign donations in a form where it's clearly marked who the money is from (one node in a connection), the donation (the link between two nodes) and the person it is going to (the other node in the connection), that is structured data. It is easier to start from structured data since you can skip several steps, but this isn't always possible. Maybe instead of having the data this explicitly laid out for you, you only have pictures from fundraisers that were published in the paper, or politician's memoirs or a series of articles containing donor and candidate information. That data would be unstructured. In those cases, you'd have to organize it yourself to conclude what entities are connected, what kind of connections are present, and what additional attributes you want to be available for each of these people and connections as you make your graph.

With this exercise, you'll take the text of A Midsummer Night's Dream and do a network analysis of what characters share the stage in the first act and get it ready to put into the network graphing platform Palladio. This is more like semi-structured data since the play clearly breaks out what characters are on stage and when scenes end so it's a little easier to start with when converting a work into structured data.

Data

I took the text from Project Gutenberg, a nonprofit that puts classic works up online. You can download the text file if you want, but I find the link below most helpful, since it provides a list of players and breaks the speech up in a clear fashion. 

Getting Started

A network graph consists of nodes and the links between them. When you have unstructured text, you'll need to decide what you'll count as nodes and links within it, and this is called a making a coding scheme. You'll make this coding scheme by skimming the work to see what kind of information it has about your research question and how you'll want to categorize that information.  Your graph can be supplemented by attributes for both the nodes and links. Attributes are categories or other information about the nodes and links between them, and so you'll want to decide if there are other attributes about those nodes and links that you'll want to record as you're making your coding scheme. After you have the rules set for yourself, you go through the work recording what's in it using your coding scheme. Basically you decide what to count and when, and then you use those rules to count the connections in the work you want to analyze. But first you need to create the coding scheme.

  • Open the link above so you have it ready to skim as you decide what information you want to record from it. 
  • Open a new Google Sheets or Microsoft Excel document. I'll be using Google Sheets, but basically what you'll need in the spreadsheet program that you're using is the ability to have multiple sheets, and the ability to create dropdowns with the options available in each category.
  • Create two sheets using the plus signs at the bottom. Name them:
    • Links - This is where you'll enter in the links, that one character spoke to or about or appeared with another (depending on what your scope is)
    • Nodes - This is where you'll enter in the names of the nodes and their attributes

Take a look at the play and ask yourself:

  • What do you want to count as a node? Just the listed cast of characters? Just the major characters? What about places?
  • What additional attributes do you want recorded about these nodes? Their gender? What other categories would you give to them?
  • What counts as a link? Do the characters you are linking need to directly speak to each other? Do they just need to be in the same scene? Does one character mentioning another count as a link?

How you'll answer these questions will depend on what you are hoping to find out from your network graph. If you were interested in how much characters were being talked about in a play behind their backs, you might only record mentions of one character who is not onstage by another character as a link, and you'd count it based on the number of mentions. If your research question you wanted to answer is about which characters directly speak to which other characters, then you'd count each line as a link between those two characters, and disregard any soliloquies or lines where it's not clear who a character is talking to. Your research question also determines what attribute information you want to record about those nodes and links. 

 In our scenario, you're just going to be trying to answer a research question about characters in different groups appearing together, and so only need to record a link if the characters are on stage at the same time.

Basically what you'll be aiming to do with your coding scheme is gathering enough information about your nodes and links that you can filter your data in ways that will help you answer your research question but not too much that you spend a lot of time gathering information that you don't need. 

Developing a Coding Scheme - Nodes & Node Attributes

In this case, we just want to look at the appearances of characters together, so we won't be entering information on people or other items that are mentioned but never appear, nor the places mentioned in connection with these people.

Whenever you can, you'll want to have an official or outside source of who the nodes should be in your graph. When you decide the scope that you are using, you'll want to have a reason to argue for why you made it as narrow or broad as you did. Handily, in this case, you do have a list of dramatis personae at the beginning of the play.

A list of the people in the play also available at -https://www.gutenberg.org/files/1514/1514-h/1514-h.htm

The characters listed in bold seem to be the most important to the story, but you should look at them to see if there are any exceptions you wouldn't want to include. For instance, in A Midsummer Night's Dream, there is a play within the play performed by one group of characters for another called Pyramus and Thisbe. In this list of characters, the ones in Pyramus and Thisbe are included so you'd need to decide if you want to have those characters as separate nodes on the graph from the Clowns (or Mechanicals) playing them.   

In this case I'll make the decision of no, and if we get to a scene where Bottom is playing Pyramus and Flute is playing Thisbe, I'll mark it down as a connection between Bottom and Flute, rather than Pyramus and Thisbe. As for the fairies and attendants who go unnamed in the cast list, I'll record them as well since my research question is interested in how many times characters are connected to other characters as well as how many characters they are linked to.

Now that you've decided who you'll be collecting information on, you can start your node sheet

  • Go to the Nodes section and enter in the word Character as the column header in column A
  • In column A, write in the names that appear in bold on the cast list, except for the characters that appear in the play within a play. Add Fairy and Attendant as well since if there's a scene where only an unnamed fairy and attendant are onstage with one of the main characters, you can still record it.
    Node
    Theseus
    Egeus
    Lysander
    Demetrius
    Philostrate
    Quince
    Snug
    Bottom
    Flute
    Snout
    Starveling
    Hippolyta
    Hermia
    Helena
    Oberon
    Titania
    Puck
    Peasblossom
    Cobweb
    Moth
    Mustardseed
    Fairy
    Attendant

At this stage you'll also want to decide what attributes of these nodes you'll want to record. Here are the two I've picked:

  • Group: The characters in A Midsummer Night's Dream are usually broken up into three different groups: The Fairies, which are Oberon, Titania, Puck and the other fairies; The Royals, which are the four lovers, Theseus and Hippolyta and their courts; and The Mechanicals which is the theater troupe preparing to put on their play. These are also sometimes called Clowns (like in the above list) but I'll go with Mechanicals which is more common.
    While Palladio, which I'll be using later to draw my graph, won't let me assign different colors to each group, it will let me filter, so if I just wanted to see how just the Mechanicals and the Fairies were connected, I'd be able to do so. If I record this information now, I can sort by it later.
  • Gender:  It could be interesting to see if the network of only male or only female characters is more or less connected. I'll assign it Man, Woman and Unspecified. Only two follow into the latter category, Moth and Puck. Moth I couldn't find gender specified either way, ditto for Puck, and I'm aware Puck has been played by actors and actresses. 

If there is additional information that you want to record on any of these nodes, please feel free to add more categories, but my Nodes sheet now looks like this.

Node Group Gender
Theseus Royals Man
Egeus Royals Man
Lysander Royals Man
Demetrius Royals Man
Philostrate Royals Man
Quince Mechanicals Man
Snug Mechanicals Man
Bottom Mechanicals Man
Flute Mechanicals Man
Snout Mechanicals Man
Starveling Mechanicals Man
Hippolyta Royals Woman
Hermia Royals Woman
Helena Royals Woman
Oberon Fairies Man
Titania Fairies Woman
Puck Fairies Unspecified
Peasblossom Fairies Man
Cobweb Fairies Man
Moth Fairies Unspecified
Mustardseed Fairies Man


Now that you've figured out the nodes that will be on your graph, you can move on to how you'll be recording their links with each other. You may find as you start coding that you'll want additional information on these characters recorded, just be open to amending your sheet if you need to, it's much easier to revise this sheet than the Links sheet.

Developing a Coding Scheme - Links & Link Attributes

A network graph isn't just about the entities involved, but the links that connect them. You'll be deciding here what links will be counted and what information you'll be recording on them. As above the first thing to consider is what you're trying to visualize with your graph, which is which groups of characters appear in scenes together. While another kind of network graph might show that Egeus is Hermia's father and Oberon is Titania's husband, this is one that is focused only on who shares stage time with who, and how often. 

  • As the character's appearance on the stage is what is interesting to you, name the first two columns Stage Mate 1  and Stage Mate 2. Palladio uses a directed graph function, so what you'll need to do when you're actually coding your sheet is to record each person on stage at the time in connection with each other person. 
    • An undirected graph is one where any link goes both ways. This is similar to Facebook, if you are friends with someone on Facebook, they are also friends with you, the link goes both ways.
    • A directed graph is one where a links do not necessarily go both ways. This is similar to Instagram. You can follow someone but that doesn't always mean that they follow you.
  • Since Palladio is directed, a link between Titania and Oberon doesn't go both ways unless you record it as 
    Stage Mate 1 Stage Mate 2
    Titania Oberon
    Oberon Titania
  • To save you from typing in the same characters' names over and over again (and possibly making typos), you can actually use Sheet's Data Validation function to add dropdowns from your other sheet that contains the nodes.
  • Highlight the rows below the headings of Stage Mate 1 and Stage Mate 2 down the length of the sheet, by holding Shift and Ctrl and then pressing the down arrow. 
  • From the Data menu item choose Data Validation. Make sure that Show dropdown list in cell is checked and where it says Criteria,  choose List from a range from the menu and then click on the grid icon next to it
  • You'll get a pop up saying What data? Click to the Nodes sheet using the tab at the bottom. Highlight the column marked Node that contains all the character names (exclude the header row). You'll see the box below What data? populate with the corresponding cell listing of A2:A22.Click OK. Then click Save.
    The sheet and pop up as described above
  • When you do this, the sheet will now have little arrows in each of the cells in the two Stage Mate columns, and by clicking on them you can scroll through your options and select one. You can also start typing and it will narrow down your options.
    After data validation is added, when you begin to type in a value into Stage Mate 1 with the letter P, a dropdown lets you select which of the list of characters beginning with P you mean.

​We decided to only record character as linked when they are the ones onstage together, not when they are mentioned by another character when offstage. This means on the Links sheet, you don't need an additional column describing the nature of the link. However, even though you'll only be coding the first act in this exercise, if you were doing the whole play, you'd probably want to know if the density of the network changes from one act to another, so you'll want to add additional attributes for the part of the play the links occur in.

  • Add two more columns: Act and Scene

You now have your criteria set up to start coding the unstructured data of the first act of A Midsummer Night's Dream.

Coding your Data

You'll be taking each grouping of people onstage at a time and adding that data to your Links sheet. When you do this on an actual project you may find that starting to code your data will teach you that something about the methodology you began with didn't take into account something important about your data. Maybe you'll find that you've left out a kind of connection that you think is important, like if you got a scene or two into the play and realized that there actually were a lot of mentions of characters when they were offstage so it shouldn't be something you ignore. It is okay to let your project evolve this way, but if you'd decided that mentions of a character who is offstage is something you want to record, you'd need to add a column that let you specify if the link was from a mention or from being onstage with a character, then go back and record that information from the beginning of the play.

Let's start with this passage, the opening of the play.

SCENE I.   Athens.  A room in the Palace of THESEUS

[Enter THESEUS, HIPPOLYTA, PHILOSTRATE, and Attendants.]
THESEUS
Now, fair Hippolyta, our nuptial hour
    Draws on apace; four happy days bring in
Another moon; but, oh, methinks, how slow
This old moon wanes! She lingers my desires,
Like to a step-dame or a dowager,
Long withering out a young man's revenue.

HIPPOLYTA
Four days will quickly steep themselves in nights;
Four nights will quickly dream away the time;
And then the moon, like to a silver bow
New bent in heaven, shall behold the night
Of our solemnities.

THESEUS
                              Go, Philostrate,
Stir up the Athenian youth to merriments;
Awake the pert and nimble spirit of mirth;
Turn melancholy forth to funerals—
The pale companion is not for our pomp.—
[Exit PHILOSTRATE.]
Hippolyta, I woo'd thee with my sword,
And won thy love doing thee injuries;
But I will wed thee in another key,
With pomp, with triumph, and with revelling.
[Enter EGEUS, HERMIA, LYSANDER, and DEMETRIUS.]

  • At the opening of the play, three people are on stage, Theseus, Hippolyta and Philostrate. Add them to the Links sheet, making sure you include the links between each. It is also marked that Assistants enter, but they do not say anything. At this first decision point, I'll decide that I'm not going to record the entrance of an unnamed assistant or fairy if they do not speak. Add the Act and Scene as well. It will look like this
    The entries for coding the characters for Act I, Scene I. Each character sharing a scene has a line connecting them to that other character, both as stage mate 1 and stage mate 2
    You'll see that I had to do the connection from each character to each other character, since otherwise they won't be properly connected since Palladio only makes directed graphs. Copy and Paste comes in handy here. You just make sure that each Stage Mate 1 corresponds with all the other Stage Mates onstage with them.
  • At the next part below you'll need to make a choice though:
    • THESEUS
                                    Go, Philostrate,
      Stir up the Athenian youth to merriments;
      Awake the pert and nimble spirit of mirth;
      Turn melancholy forth to funerals—
      The pale companion is not for our pomp.—
      [Exit PHILOSTRATE.]
      Hippolyta, I woo'd thee with my sword,
      And won thy love doing thee injuries;
      But I will wed thee in another key,
      With pomp, with triumph, and with revelling.
  • Philostrate has left the stage, but it is only a few lines before anyone else enters, do you record a separate set of links for Hippolyta and Theseus being alone for these four lines in the scene? The two are alone, but only Theseus speaks, and as a continuation of his previous speech. Getting to this section makes you think about what consists of a link and helps you set your standards for it. I've decided not to make a separate set of links for this short section, but I've also decided that my rule will be that if the configuration changes for who's onstage for under 5 lines, to only record it as an additional link if both characters either speak or have some sort of action in the stage directions.
  • Next up is the stage direction that four characters enter. This means that I'll be adding the connections between all these people to the sheet, making sure to add their connections to each other and to Hippolyta and Theseus who were already onstage. So 
    [Enter EGEUS, HERMIA, LYSANDER, and DEMETRIUS.]
    Corresponds with:
    The newly entered characters are listed in connection to each other, and the two already on the stage, Theseus and Hippolyta
  • Continue down through the scene, and you'll see that for a while all remain on the stage, until you come to this:
    EGEUS
    With duty and desire we follow you.
    [Exeunt THESEUS, HIPPOLYTA, EGEUS, DEMETRIUS, and Train.]
    LYSANDER
    How now, my love! why is your cheek so pale?
    How chance the roses there do fade so fast?
  • Now the only people left on page are Lysander and Hermia. So add another two lines linking each of them to each other.
    The two additional links of Lysander -> Hermia, Hermia -> Lysander
  • It continues for a while longer with just those two onstage, and then Helena enters and speaks with both of them, so you'll need to add a set of lines indicating this interaction. 
    New lines indicating that Helena is connected in with the different people on stage with each other, and they are connected to her and with each other.
  • Scroll down further and you'll get to the end of the scene without the need to add more links. Though first Hermia leaves, there isn't an interaction between Lysander and Helena where they both speak, then he leaves and she gives a soliloquy with no one else present. While soliloquies are important in Shakespeare, the point of this network analysis is to explore character's interactions in terms of their stage time together. So I'll make the decision not to add lines for soliloquies unless they are given when the character thinks that they are alone onstage, but they are in fact not. In which case I'll link them to whoever is eavesdropping on them. 
  • You should now have what you need to proceed through the Act I.  After you have finished with that, if you feel comfortable, continue through the rest of the play recording links between all the characters onstage together at that point in the scene. You only need to add more links when the configuration of people onstage changes, and two or more of the characters speak or take some kind of action. Remember to add when the scene changes from I to II and when the Act changes.

When you're done with the other acts, you are ready to move into the next module and graph the network of these characters in this play. If you get lost and don't know how I would have classified a scene, go to the link below. 

Learning Goals

In the first tab of this tutorial, you took Act I (or the whole play) of A Midsummer Night's Dream and recorded the data it contained about which characters were onstage with each other at the same time into a structured spreadsheet you created. With this data you'll create a network graph in Palladio of how often those characters are onstage with each other. You'll also be able to sort those relations by where they are chronologically in the play, what group each character is in, and what gender they are since that's information that you've recorded. 

Data

If you didn't create the data in the last module, you'll find it here. 

Getting Started

  • Open the link to see what information is contained and how it's structured. Notice that there is one sheet marked for Links and one for Nodes. The Links sheet lists a connection for every time a character is in a group onstage with another character. The Nodes is a list of each of the characters involved as well as information about them. 
  • Go to the Palladio website: http://hdlab.stanford.edu/palladio/ and scroll through the options. It's a very simple website to use and I'll be walking you through the steps of how to do so.

Importing Your Data into Palladio

Palladio makes it very easy to import your data. You can either upload csv sheets or simply cut and paste them into the interface. This is the first step to Palladio making a network graph with that data. 

  • On the Palladio homepage click on Start
  • You'll see a blank window on the page. If this were a csv saved to your computer you could drag and drop the file there, but as it is, first highlight all of the information on your Links sheet (including the headings), copy it, and then paste it in the window. Click Load to upload the information
    The sheet created in the last exercise is placed in the csv window.
  • Palladio will load your data and display the table's headers and number of rows on your dashboard. Click where it says Untitled and change the title to say Links
  • This table only contains the information about the links themselves between each person onstage. The additional information about them like their affiliation and their gender is stored in the Nodes section of the sheet. In order to cross reference the two you'll need to add the Nodes sheet.
  • Hover over Stage Mate 1 until the term is underlined and a pencil appears next to it. Click the pencil.
  • It will open a window containing information about what values are found within that heading. What you're going to want to add in this case is an Extension, which will cross reference this links table to the nodes table that you created. So whenever it comes across Oberon in the Stage Mate 1 column, Palladio will know to look at the table you've made the Extension to find out which group and gender he is. Click on Add a new table.
  • It will open up another blank window. Go to the Nodes section of your spreadsheet and copy and paste in the rows from it into that window including the header rows. Click Load
    The node information pasted into the Add A New Table section
  • Palladio will take you back to the window for Stage Mate 1 and at the bottom it will display that there were matches found in the so far Untitled extension. Click Done.
  • When it returns you to the dashboard you'll see that there is now a second table listed for the project. Change its title from Untitled to Characters. You'll see that this changes Stage Mate 1 to list that it contains 23 Characters.
    The dashboard has information on what's contained in the table for links and the one for characters
  • Click on Stage Mate 2 and then click on Choose a table in Extension and pick Characters. Then click Done
  • Before you move on to the next section to see what your graph looks like, click at the Title section above the tables and call your project A Midsummer Night's Dream

Making a Graph

Now that you've entered in all your information, you can see what the connections between these different characters look like in visual form by  asking Palladio to create a graph.

  • On the menu bar at the top of the dashboard, click Graph.
  • At first, you'll just see a blank screen. That's because you haven't told it which connections you want it to map. There is a configuration menu to the left of the page. On the Source dropdown click Choose and in the menu that appears, select Stage Mate 1.
    Stage Mate 1 selected as a source
  • For Target choose Stage Mate 2 and you'll see that the graph appears on the dashboard. Click Close and then you can use your mouse scroll wheel to zoom in and out on the graph. You can also use the + and - buttons on the side to zoom in and out. By clicking and dragging any node you can get a better idea of what other nodes are attached to it, since clicking on a node and dragging it pulls the other nodes it's attached to with it.
    The network analysis in Palladio, the royals share a lot of connections with each other and the mechanicals, Bottom and Puck are the ones connecting those groups to the Fairies
  • Already from this you can see some preliminary results like that the Royals and the Fairies seem to be most often connected to each other and the characters with the most connections seem to be Bottom and Puck. Though Palladio doesn't let you do a lot of customization, it will let you have the nodes sized in accordance to the number of times they are connected so you can more easily see which have the most connections.
  • Click on Size Nodes and make sure it's set to Number of Characters. This means that the graph will size the node for each character according to how many other characters it is connected to. Now you can see more clearly that Bottom seems to be more connected than almost any other character. You'll also see that the Royals and the Mechanicals are both connected to about the same number of characters and the fairies have a smaller number associated with them.

The same graph as above but now some nodes are bigger than others depending on how many characters they are connected to.

  • If you are interested in visualizing the amount of times a character is connected to any other character (rather than to the largest number of unique characters) you can switch the According to  dropdown to Number of Links.
  • Unfortunately, without a lot of zooming and dragging, that graph is borderline unreadable, so that might not be useful for this project. You can however see how changing that measure changes what your graph seems to say. By this measure, the most connected characters seem to be the Royals, rather than Bottom, since if you look at the Links sheet you'll see the do a lot of chasing each other on and off of the stage. 
    The same graph, but now since the nodes are sized based on the amount of links they are extremely big.
  • Click back to Number of Characters as the sizing option for the next step so your graph is more readable.

Using Facets

When filling out the Nodes and Links sheet, you put in additional attributes. For the links, this is what act and scene this connection occurred in. For the nodes, this was information about which group the character fell into and what gender they were. You can use the facets in order to filter which nodes and connections appear in the graph, which depending on your research question can be quite useful. 

  • To start, we'll see what we'd find if we only looked at the female characters. Click on the Facet button at the bottom of the graph and  the Facet menu shows up there. This is where it shows how many characters or links fall into each attribute's category. 
  • In Description type Women and then click on the button that says Dimensions. A window will pop up and select the box that says Gender on it to specify that's how you want to filter, then Close
  • Now in your facet display you'll see all the different options for gender mentioned. Click on Woman to select only the nodes with that name, and you'll see that only the options where one of the characters is female are displayed. The filters in place are displayed at the top.
    A graph with a smaller amount of connections to it than previous.
  • You can do the same thing for the other attribute you've assigned to the nodes, which group they're in. Use the trash can icon to get rid of the gender filter you have on it. Click on Facet to reopen the display,  then change the description to Group and use the Dimension to select Group. Click through each group and different combination to see how the graph changes when only the links containing a Royal or Mechanical or Fairy are counted. This will tell you something about which characters act as bridges between groups.
  • If you want to use two different facets at once you can actually just select both. In this case, let's say you want to be able to see scene for scene how the networks are set up. Use the trash can icon to clear all the filters, then change the Description to Scene. Under Dimensions select Act and Scene by clicking to highlight both boxes.Then select Close. Now two different filter options appear on the table. Let's start with Act - I, Scene - I, by clicking on each of those options.
    A triangular looking graph of the Royals since they are the only characters in the Act and Scene chosen
  • You'll see that this scene just contains the Royals. Proceed through the rest of the play. Do the diagrams get more or less complex as the play goes on? Are the characters always interconnected, or are there some where there are two separate graphs?

Exporting Your Palladio Graph

Unfortunately, Palladio doesn't offer an option for you to embed the graph, but there are a couple of different ways that you can save it. For instance if you want your graph as a json file that you can then feed into a graphing or other visualization program, you can click on the download icon at the top of the chart. Note that this will download the entire information for the links and nodes sheets cross-referenced, not just whatever information that you have filtered and configured as your graph.

If you want an image of any of the graphs that you've made, just click on the Download icon at the bottom of the Settings menu. This will download an svg image to your computer. Then you can paste it within your paper. 

Other Palladio Options

  • Table. You'll see in the menu bar at the top that you can also select Table, if you want to use Palladio's cross-referencing capabilities to see which characters are in which acts

  • Map. On occasion you may have data that has a geographic dimension. In that case you'd use the Map option and make sure that your data has a column for Latitude and Longitude
  • Gallery. You can add a column for web-hosted images to your original data and then you'll be able to display with jpegs instead of dots which items are connected. For instance I could have added photographs from performances of A Midsummer Night's Dream of how the different characters were dressed

Though Palladio isn't the most customizable or detailed way of doing network analysisit is a handy tool if you're just curious about what connections are in your data before embarking on a more technical way to graph your data. It also provides illustrations with a minimum of fuss..