RandomGraph

RandomGraph[{n,m}]

gives a pseudorandom graph with n vertices and m edges.

RandomGraph[{n,m},k]

gives a list of k pseudorandom graphs.

RandomGraph[gdist,]

samples from the random graph distribution gdist.

Details and Options

Examples

open allclose all

Basic Examples  (2)

Generate a random graph on 5 vertices and 6 edges:

Simulate a graph property distribution:

Scope  (12)

Generate a pseudorandom graph with a given number of vertices and edges:

A directed pseudorandom graph:

Generate arrays of different sizes and dimensions:

An array of graphs:

Generate random graphs distributed according to the BarabasiAlbert model:

Generate random graphs that are Bernoulli distributed:

Generate random graphs that are uniformly distributed:

Generate random graphs with given degree sequence:

Generate random spatial graphs:

Generate random graphs distributed according to the Price model:

Generate random graphs distributed according to the WattsStrogatz model:

Generate random graphs of large size:

Options  (70)

DirectedEdges  (1)

By default, an undirected graph is generated:

Use DirectedEdges->True to generate a directed graph:

EdgeLabels  (6)

Label the edge 12:

Label all edges:

Use Placed with symbolic locations to control label placement along an edge:

Use explicit coordinates to place labels:

Vary positions within the label:

Place multiple labels:

Use automatic labeling by values through Tooltip and StatusArea:

EdgeShapeFunction  (6)

Get a list of built-in settings for EdgeShapeFunction:

Undirected edges including the basic line:

Lines with different glyphs on the edges:

Directed edges including solid arrows:

Line arrows:

Open arrows:

Specify an edge function for an individual edge:

Combine with a different default edge function:

Draw edges by running a program:

EdgeShapeFunction can be combined with EdgeStyle:

EdgeShapeFunction has higher priority than EdgeStyle:

EdgeStyle  (2)

Style all edges:

Style individual edges:

GraphHighlight  (3)

Highlight the vertex 1:

Highlight the edge 23:

Highlight vertices and edges:

GraphHighlightStyle  (2)

Get a list of built-in settings for GraphHighlightStyle:

Use built-in settings for GraphHighlightStyle:

GraphLayout  (4)

By default, the layout is chosen automatically:

Specify layouts on special curves:

Specify layouts that satisfy optimality criteria:

Use AbsoluteOptions to extract VertexCoordinates computed using a layout algorithm:

PlotTheme  (4)

Base Themes  (2)

Use a common base theme:

Use a monochrome theme:

Feature Themes  (2)

Use a large graph theme:

Use a classic diagram theme:

VertexCoordinates  (3)

By default, any vertex coordinates are computed automatically:

Extract the resulting vertex coordinates using AbsoluteOptions:

Specify a layout function along an ellipse:

Use it to generate vertex coordinates for a graph:

VertexCoordinates has higher priority than GraphLayout:

VertexLabels  (13)

Use vertex names as labels:

Label individual vertices:

Label all vertices:

Use any expression as a label:

Use Placed with symbolic locations to control label placement, including outside positions:

Symbolic outside corner positions:

Symbolic inside positions:

Symbolic inside corner positions:

Use explicit coordinates to place the center of labels:

Place all labels at the upper-right corner of the vertex and vary the coordinates within the label:

Place multiple labels:

Any number of labels can be used:

Use the argument to Placed to control formatting, including Tooltip:

Or StatusArea:

Use more elaborate formatting functions:

VertexShape  (5)

Use any Graphics, Image, or Graphics3D as a vertex shape:

Specify vertex shapes for individual vertices:

VertexShape can be combined with VertexSize:

VertexShape is not affected by VertexStyle:

VertexShapeFunction has higher priority than VertexShape:

VertexShapeFunction  (9)

Get a list of built-in collections for VertexShapeFunction:

Use built-in settings for VertexShapeFunction in the "Basic" collection:

Simple basic shapes:

Common basic shapes:

Use built-in settings for VertexShapeFunction in the "Rounded" collection:

Use built-in settings for VertexShapeFunction in the "Concave" collection:

Draw individual vertices:

Combine with a default vertex function:

Draw vertices by running a program:

VertexShapeFunction can be combined with VertexStyle:

VertexShapeFunction has higher priority than VertexStyle:

VertexShapeFunction can be combined with VertexShape:

VertexShapeFunction has higher priority than VertexShape:

VertexSize  (8)

By default, the size of vertices is computed automatically:

Specify the size of all vertices using symbolic vertex size:

Use a fraction of the minimum distance between vertex coordinates:

Use a fraction of the overall diagonal for all vertex coordinates:

Specify size in both the and directions:

Specify the size for individual vertices:

VertexSize can be combined with VertexShapeFunction:

VertexSize can be combined with VertexShape:

VertexStyle  (4)

Style all vertices:

Style individual vertices:

VertexShapeFunction can be combined with VertexStyle:

VertexShapeFunction has higher priority than VertexStyle:

VertexStyle can be combined with BaseStyle:

VertexStyle has higher priority than BaseStyle:

Applications  (3)

Generate random data for a property of a graph distribution and compare its histogram to the PDF:

Verify that the degree for a vertex in a Bernoulli graph follows a binomial distribution:

Simulate interaction networks, knowing the number of interactions of each node within the group:

Properties & Relations  (10)

RandomGraph uses integer vertices:

Use VertexReplace to replace vertices in the graph:

Use SeedRandom to get repeatable random graphs:

Use BlockRandom to block one use of RandomGraph from affecting others:

RandomVariate generates variates from probability distributions:

RandomInteger generates uniform discrete random variates:

RandomReal generates uniform continuous variates:

RandomChoice generates random choices with replacement from a list:

RandomSample generates random choice without replacement from a list:

RandomPrime generates a random prime number:

RandomImage generates a random image:

Possible Issues  (1)

The number of edges of a simple graph on n vertices is less than or equal to TemplateBox[{n, 2}, Binomial]:

RandomGraph[{n,Binomial[n,2]}] always gives the complete graph with n vertices:

Neat Examples  (1)

Generate random star constellations:

Introduced in 2010
 (8.0)