Constructs a random threshold graph. A threshold graph is a graph where the neighborhood inclusion preorder is complete.

threshold_graph(n, p)



The number of vertices in the graph.


The probability of inserting dominating vertices. Equates approximately to the density of the graph. See Details.


A threshold graph as igraph object


Threshold graphs can be constructed with a binary sequence. For each 0, an isolated vertex is inserted and for each 1, a vertex is inserted that connects to all previously inserted vertices. The probability of inserting a dominating vertices is controlled with parameter p. An important property of threshold graphs is, that all centrality indices induce the same ranking.


Mahadev, N. and Peled, U. N. , 1995. Threshold graphs and related topics.

Schoch, D., Valente, T. W. and Brandes, U., 2017. Correlations among centrality indices and a class of uniquely ranked graphs. Social Networks 50, 46–54.

See also

neighborhood_inclusion, positional_dominance


library(igraph) g <- threshold_graph(10,0.3)
# NOT RUN { plot(g) # star graphs and complete graphs are threshold graphs complete <- threshold_graph(10,1) #complete graph plot(complete) star <- threshold_graph(10,0) #star graph plot(star) # }
# centrality scores are perfectly rank correlated cor(degree(g),closeness(g),method = "kendall")
#> [1] 1