library("igraph")
## 
## Attaching package: 'igraph'
## 
## The following objects are masked from 'package:stats':
## 
##     decompose, spectrum
## 
## The following object is masked from 'package:base':
## 
##     union
library("readr")

First read in the two data frames of society edges and nodes.

societies_edges <- read_csv("Data/societies-edge-attr.csv")
societies_nodes <- read_csv("Data/societies-node-attr.csv")

Next create the graph.

societies_g <- graph_from_data_frame(societies_edges, directed = FALSE, societies_nodes)

And the plot.

# png(filename = "societies-network.png", width = 2400, height = 1600, res = 300, pointsize = 08)
set.seed(845)
par(mar = c(1, 1, 1, 1))
l <- layout.fruchterman.reingold(societies_g, weights = E(societies_g)$weight)
plot(societies_g, 
     layout = l,
     edge.width = E(societies_g)$weight * 0.1,
     vertex.size = 15,
     vertex.label.color = "black")
title("Early American Societies")

# dev.off()

To save a high quality version of the image, uncomment the lines beginning png() and dev.off() at the beginning and end of the code block. To make the font bigger or smaller, adjust the pointsize = parameter.