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

- RandomGraph[{n,m}] is equivalent to RandomGraph[UniformGraphDistribution[n,m]].
- RandomGraph gives a different sequence of pseudorandom graphs whenever you run the Wolfram Language. By using SeedRandom, you can get a repeatable sequence.
- Vertices are taken to be integers 1, …, n.
- A method option to SeedRandom can be given to specify the pseudorandom generator used.
- RandomGraph[dist,{n1,n2,…}] gives an n1×n2×… array of graphs.
- RandomGraph has the same options as Graph.
Examples
open allclose allBasic Examples (2)
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:
Generate random graphs distributed according to the Barabasi–Albert 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 Watts–Strogatz model:
Options (70)
DirectedEdges (1)
By default, an undirected graph is generated:
Use DirectedEdges->True to generate a directed graph:
EdgeLabels (6)
Use Placed with symbolic locations to control label placement along an edge:
Use explicit coordinates to place labels:
Vary positions within the label:
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:
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:
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)
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 any expression as a label:
Use Placed with symbolic locations to control label placement, including outside positions:
Symbolic outside corner 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:
Any number of labels can be used:
Use the argument to Placed to control formatting, including Tooltip:
Or StatusArea:
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:
Use built-in settings for VertexShapeFunction in the "Rounded" collection:
Use built-in settings for VertexShapeFunction in the "Concave" collection:
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)
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)
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 :

RandomGraph[{n,Binomial[n,2]}] always gives the complete graph with n vertices:
Text
Wolfram Research (2010), RandomGraph, Wolfram Language function, https://reference.wolfram.com/language/ref/RandomGraph.html.
CMS
Wolfram Language. 2010. "RandomGraph." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/RandomGraph.html.
APA
Wolfram Language. (2010). RandomGraph. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/RandomGraph.html