library(igraph)
## 
## Attaching package: 'igraph'
## The following objects are masked from 'package:stats':
## 
##     decompose, spectrum
## The following object is masked from 'package:base':
## 
##     union
g <- graph.tree(40, 4)
plot(g)

plot(g, layout=layout.circle)

# Directed layouts
plot(g, layout=layout.fruchterman.reingold)

plot(g, layout=layout.graphopt)

plot(g, layout=layout.kamada.kawai)

# A simple undirected graph
g <- graph.formula( Kathy-Ben-Ryan-Vick, Daniel-Cyril-Ben, Cyril-Kathy )
g
## IGRAPH e5e54fa UN-- 6 6 -- 
## + attr: name (v/c)
## + edges from e5e54fa (vertex names):
## [1] Kathy --Ben   Kathy --Cyril Ben   --Ryan  Ben   --Cyril Ryan  --Vick 
## [6] Daniel--Cyril
g2 <- graph.formula( Alice-Bob:Cecil:Daniel, Cecil:Daniel-Eugene:Gordon )
g2
## IGRAPH e5e80f2 UN-- 6 7 -- 
## + attr: name (v/c)
## + edges from e5e80f2 (vertex names):
## [1] Alice --Bob    Alice --Cecil  Alice --Daniel Cecil --Eugene
## [5] Cecil --Gordon Daniel--Eugene Daniel--Gordon
# A directed graph
g3 <- graph.formula( Alice +-+ Bob --+ Cecil +-- Daniel, Eugene --+ Gordon:Helen )
g3
## IGRAPH e5e9960 DN-- 7 6 -- 
## + attr: name (v/c)
## + edges from e5e9960 (vertex names):
## [1] Alice ->Bob    Bob   ->Alice  Bob   ->Cecil  Daniel->Cecil 
## [5] Eugene->Gordon Eugene->Helen
# A graph with isolate vertices
g4 <- graph.formula( Alice -- Bob -- Daniel, Cecil:Gordon, Helen )
g4
## IGRAPH e5eb6b2 UN-- 6 2 -- 
## + attr: name (v/c)
## + edges from e5eb6b2 (vertex names):
## [1] Alice--Bob    Bob  --Daniel
# "Arrows" can be arbitrarily long
g5 <- graph.formula( Alice +---------+ Bob )
g5
## IGRAPH e5ed8e6 DN-- 2 2 -- 
## + attr: name (v/c)
## + edges from e5ed8e6 (vertex names):
## [1] Alice->Bob   Bob  ->Alice
g <- erdos.renyi.game(100, 1/100)
V(g)$color <- sample( c("red", "black"),
vcount(g), rep=TRUE)
E(g)$color <- "grey"
red <- V(g)[ color == "red" ]
bl <- V(g)[ color == "black" ]
E(g)[ red %--% red ]$color <- "red"
E(g)[ bl %--% bl ]$color <- "black"
plot(g, vertex.size=5, layout=
layout.fruchterman.reingold)

karate <- read.graph("http://cneurocvs.rmki.kfki.hu/igraph/karate.net", format="pajek")
summary(karate)
## IGRAPH e620dcc U--- 34 78 --
plot(karate)