Products
  • Wolfram|One

    The definitive Wolfram Language and notebook experience

  • Mathematica

    The original technical computing environment

  • Wolfram Notebook Assistant + LLM Kit

    All-in-one AI assistance for your Wolfram experience

  • System Modeler
  • Wolfram Player
  • Finance Platform
  • Wolfram Engine
  • Enterprise Private Cloud
  • Application Server
  • Wolfram|Alpha Notebook Edition
  • Wolfram Cloud App
  • Wolfram Player App

More mobile apps

Core Technologies of Wolfram Products

  • Wolfram Language
  • Computable Data
  • Wolfram Notebooks
  • AI & Linguistic Understanding

Deployment Options

  • Wolfram Cloud
  • wolframscript
  • Wolfram Engine Community Edition
  • Wolfram LLM API
  • WSTPServer
  • Wolfram|Alpha APIs

From the Community

  • Function Repository
  • Community Paclet Repository
  • Example Repository
  • Neural Net Repository
  • Prompt Repository
  • Wolfram Demonstrations
  • Data Repository
  • Group & Organizational Licensing
  • All Products
Consulting & Solutions

We deliver solutions for the AI era—combining symbolic computation, data-driven insights and deep technical expertise

  • Data & Computational Intelligence
  • Model-Based Design
  • Algorithm Development
  • Wolfram|Alpha for Business
  • Blockchain Technology
  • Education Technology
  • Quantum Computation

WolframConsulting.com

Wolfram Solutions

  • Data Science
  • Artificial Intelligence
  • Biosciences
  • Healthcare Intelligence
  • Sustainable Energy
  • Control Systems
  • Enterprise Wolfram|Alpha
  • Blockchain Labs

More Wolfram Solutions

Wolfram Solutions For Education

  • Research Universities
  • Colleges & Teaching Universities
  • Junior & Community Colleges
  • High Schools
  • Educational Technology
  • Computer-Based Math

More Solutions for Education

  • Contact Us
Learning & Support

Get Started

  • Wolfram Language Introduction
  • Fast Intro for Programmers
  • Fast Intro for Math Students
  • Wolfram Language Documentation

More Learning

  • Highlighted Core Areas
  • Demonstrations
  • YouTube
  • Daily Study Groups
  • Wolfram Schools and Programs
  • Books

Grow Your Skills

  • Wolfram U

    Courses in computing, science, life and more

  • Community

    Learn, solve problems and share ideas.

  • Blog

    News, views and insights from Wolfram

  • Resources for

    Software Developers

Tech Support

  • Contact Us
  • Support FAQs
  • Support FAQs
  • Contact Us
Company
  • About Wolfram
  • Career Center
  • All Sites & Resources
  • Connect & Follow
  • Contact Us

Work with Us

  • Student Ambassador Initiative
  • Wolfram for Startups
  • Student Opportunities
  • Jobs Using Wolfram Language

Educational Programs for Adults

  • Summer School
  • Winter School

Educational Programs for Youth

  • Middle School Camp
  • High School Research Program
  • Computational Adventures

Read

  • Stephen Wolfram's Writings
  • Wolfram Blog
  • Wolfram Tech | Books
  • Wolfram Media
  • Complex Systems

Educational Resources

  • Wolfram MathWorld
  • Wolfram in STEM/STEAM
  • Wolfram Challenges
  • Wolfram Problem Generator

Wolfram Initiatives

  • Wolfram Science
  • Wolfram Foundation
  • History of Mathematics Project

Events

  • Stephen Wolfram Livestreams
  • Online & In-Person Events
  • Contact Us
  • Connect & Follow
Wolfram|Alpha
  • Your Account
  • User Portal
  • Wolfram Cloud
  • Products
    • Wolfram|One
    • Mathematica
    • Wolfram Notebook Assistant + LLM Kit
    • System Modeler
    • Wolfram Player
    • Finance Platform
    • Wolfram|Alpha Notebook Edition
    • Wolfram Engine
    • Enterprise Private Cloud
    • Application Server
    • Wolfram Cloud App
    • Wolfram Player App

    More mobile apps

    • Core Technologies
      • Wolfram Language
      • Computable Data
      • Wolfram Notebooks
      • AI & Linguistic Understanding
    • Deployment Options
      • Wolfram Cloud
      • wolframscript
      • Wolfram Engine Community Edition
      • Wolfram LLM API
      • WSTPServer
      • Wolfram|Alpha APIs
    • From the Community
      • Function Repository
      • Community Paclet Repository
      • Example Repository
      • Neural Net Repository
      • Prompt Repository
      • Wolfram Demonstrations
      • Data Repository
    • Group & Organizational Licensing
    • All Products
  • Consulting & Solutions

    We deliver solutions for the AI era—combining symbolic computation, data-driven insights and deep technical expertise

    WolframConsulting.com

    Wolfram Solutions

    • Data Science
    • Artificial Intelligence
    • Biosciences
    • Healthcare Intelligence
    • Sustainable Energy
    • Control Systems
    • Enterprise Wolfram|Alpha
    • Blockchain Labs

    More Wolfram Solutions

    Wolfram Solutions For Education

    • Research Universities
    • Colleges & Teaching Universities
    • Junior & Community Colleges
    • High Schools
    • Educational Technology
    • Computer-Based Math

    More Solutions for Education

    • Contact Us
  • Learning & Support

    Get Started

    • Wolfram Language Introduction
    • Fast Intro for Programmers
    • Fast Intro for Math Students
    • Wolfram Language Documentation

    Grow Your Skills

    • Wolfram U

      Courses in computing, science, life and more

    • Community

      Learn, solve problems and share ideas.

    • Blog

      News, views and insights from Wolfram

    • Resources for

      Software Developers
    • Tech Support
      • Contact Us
      • Support FAQs
    • More Learning
      • Highlighted Core Areas
      • Demonstrations
      • YouTube
      • Daily Study Groups
      • Wolfram Schools and Programs
      • Books
    • Support FAQs
    • Contact Us
  • Company
    • About Wolfram
    • Career Center
    • All Sites & Resources
    • Connect & Follow
    • Contact Us

    Work with Us

    • Student Ambassador Initiative
    • Wolfram for Startups
    • Student Opportunities
    • Jobs Using Wolfram Language

    Educational Programs for Adults

    • Summer School
    • Winter School

    Educational Programs for Youth

    • Middle School Camp
    • High School Research Program
    • Computational Adventures

    Read

    • Stephen Wolfram's Writings
    • Wolfram Blog
    • Wolfram Tech | Books
    • Wolfram Media
    • Complex Systems
    • Educational Resources
      • Wolfram MathWorld
      • Wolfram in STEM/STEAM
      • Wolfram Challenges
      • Wolfram Problem Generator
    • Wolfram Initiatives
      • Wolfram Science
      • Wolfram Foundation
      • History of Mathematics Project
    • Events
      • Stephen Wolfram Livestreams
      • Online & In-Person Events
    • Contact Us
    • Connect & Follow
  • Wolfram|Alpha
  • Wolfram Cloud
  • Your Account
  • User Portal
Wolfram Language & System Documentation Center
Graph
  • See Also
    • TreeGraph
    • PathGraph
    • AdjacencyGraph
    • IncidenceGraph
    • GraphData
    • Graph3D

    • Entity Types
    • Graph

    • Interpreter Types
    • Graph
    • ComputedGraph

    • Formats
    • Graphlet
    • DOT
    • GraphML
  • Related Guides
    • Graph Construction & Representation
    • Graph Visualization
    • Graphs & Networks
    • Discrete Mathematics
    • Social Network Analysis
    • Graph Layouts
    • WDF (Wolfram Data Framework)
    • Life Sciences & Medicine: Data & Computation
    • Scientific Models
    • Molecular Structure & Computation
    • Scientific Data Analysis
    • Database Connectivity
    • Wolfram Data Repository
    • See Also
      • TreeGraph
      • PathGraph
      • AdjacencyGraph
      • IncidenceGraph
      • GraphData
      • Graph3D

      • Entity Types
      • Graph

      • Interpreter Types
      • Graph
      • ComputedGraph

      • Formats
      • Graphlet
      • DOT
      • GraphML
    • Related Guides
      • Graph Construction & Representation
      • Graph Visualization
      • Graphs & Networks
      • Discrete Mathematics
      • Social Network Analysis
      • Graph Layouts
      • WDF (Wolfram Data Framework)
      • Life Sciences & Medicine: Data & Computation
      • Scientific Models
      • Molecular Structure & Computation
      • Scientific Data Analysis
      • Database Connectivity
      • Wolfram Data Repository

Graph[{e1,e2,…}]

yields a graph with edges ej.

Graph[{v1,v2,…},{e1,e2,…}]

yields the graph with vertices vi and edges ej.

Graph[{…,wi[vi,…],…},{…,wj[ej,…],…}]

yields a graph with vertex and edge properties defined by the symbolic wrappers wk.

Graph[data]

yields a graph from data.

Details and Options
Details and Options Details and Options
Examples  
Basic Examples  
Scope  
Connectivity  
Wrappers  
Styling  
Labeling  
Options  
AnnotationRules  
DirectedEdges  
EdgeLabels  
Show More Show More
EdgeShapeFunction  
EdgeStyle  
EdgeWeight  
GraphHighlight  
GraphHighlightStyle  
GraphLayout  
PlotTheme  
Base Themes  
Feature Themes  
VertexCoordinates  
VertexLabels  
VertexShape  
VertexShapeFunction  
VertexSize  
VertexStyle  
VertexWeight  
Applications  
Properties & Relations  
Possible Issues  
See Also
Related Guides
Related Links
History
Cite this Page
BUILT-IN SYMBOL
  • See Also
    • TreeGraph
    • PathGraph
    • AdjacencyGraph
    • IncidenceGraph
    • GraphData
    • Graph3D

    • Entity Types
    • Graph

    • Interpreter Types
    • Graph
    • ComputedGraph

    • Formats
    • Graphlet
    • DOT
    • GraphML
  • Related Guides
    • Graph Construction & Representation
    • Graph Visualization
    • Graphs & Networks
    • Discrete Mathematics
    • Social Network Analysis
    • Graph Layouts
    • WDF (Wolfram Data Framework)
    • Life Sciences & Medicine: Data & Computation
    • Scientific Models
    • Molecular Structure & Computation
    • Scientific Data Analysis
    • Database Connectivity
    • Wolfram Data Repository
    • See Also
      • TreeGraph
      • PathGraph
      • AdjacencyGraph
      • IncidenceGraph
      • GraphData
      • Graph3D

      • Entity Types
      • Graph

      • Interpreter Types
      • Graph
      • ComputedGraph

      • Formats
      • Graphlet
      • DOT
      • GraphML
    • Related Guides
      • Graph Construction & Representation
      • Graph Visualization
      • Graphs & Networks
      • Discrete Mathematics
      • Social Network Analysis
      • Graph Layouts
      • WDF (Wolfram Data Framework)
      • Life Sciences & Medicine: Data & Computation
      • Scientific Models
      • Molecular Structure & Computation
      • Scientific Data Analysis
      • Database Connectivity
      • Wolfram Data Repository

Graph

Graph[{e1,e2,…}]

yields a graph with edges ej.

Graph[{v1,v2,…},{e1,e2,…}]

yields the graph with vertices vi and edges ej.

Graph[{…,wi[vi,…],…},{…,wj[ej,…],…}]

yields a graph with vertex and edge properties defined by the symbolic wrappers wk.

Graph[data]

yields a graph from data.

Details and Options

  • Graph[…] displays in a notebook as a plot of a graph.
  • Graph[…] is always converted to an optimized standard form with structure Graph[vertices,edges,…].
  • Graph is treated as a raw object by functions like AtomQ, and for purposes of pattern matching.
  • An undirected edge between u and v can be given as uv, u<->v, UndirectedEdge[u,v] or TwoWayRule[u,v]. The character  can be entered as ue.
  • A directed edge from u to v can be given as uv, u->v, DirectedEdge[u,v], or Rule[u,v]. The character  can be entered as de.
  • A tagged edge from u to v can be given as uv, uv, UndirectedEdge[u,v,t] or DirectedEdge[u,v,t].
  • An undirected graph is specified using a collection of undirected edges.
  • A directed graph is specified using a collection of directed edges.
  • A mixed graph is specified using a collection of directed and undirected edges.
  • The following special wrappers can be used for vertices and edges:
  • Annotation[a,label]provide an annotation
    Button[a,action]define an action to execute when the element is clicked
    EventHandler[a,…]define a general event handler for the element
    Hyperlink[a,uri]make the element act as a hyperlink
    Labeled[a,…]display the element with labeling
    PopupWindow[a,cont]attach a popup window to the element
    StatusArea[a,label]display in the status area when the element is moused over
    Style[a,opts]show the element using the specified styles
    Tooltip[a,label]attach an arbitrary tooltip to the element
  • The possible label placements are given in VertexLabels and EdgeLabels, respectively.
  • Annotation can be used to associate annotations with vertices and edges:
  • Annotation[v,name->value]associate the annotation name->value with the vertex v
    Annotation[e,name->value]associate the annotation name->value with the edge e
  • The data can be any of the following:
  • an Entity of type "Graph"
    arbitrary Graph object
    a Molecule object
    a Tree expression
    a DiscreteMarkovProcess object
  • The following standard properties are supported for vertices:
  • VertexLabels labels and label placement for vertices
    VertexCoordinates center coordinates for vertices
    VertexShape graphic shape used for vertices
    VertexSize size used for vertices
    VertexStyle style used for vertices
    VertexShapeFunction shape-rendering function for vertex
    VertexWeight weights for vertices
  • The following standard properties are supported for edges:
  • EdgeLabelslabels and label placement for edges
    EdgeStylestyle used for edges
    EdgeShapeFunctionshape-rendering function for edge
    EdgeWeightweights for edges
  • Graph has the same options as Graphics, with the following additions and changes: [List of all options]
  • AnnotationRules{}annotations for graph, edges and vertices
    DirectedEdgesAutomaticwhether to interpret Rule as DirectedEdge
    EdgeLabelsNonelabels and label placements for edges
    EdgeLabelStyleAutomaticstyle to use for edge labels
    EdgeShapeFunctionAutomaticgenerate graphic shapes for edges
    EdgeStyleAutomaticstyle used for edges
    EdgeWeightAutomaticweights for edges
    GraphHighlight{}graph elements to highlight
    GraphHighlightStyleAutomaticstyle for highlight
    GraphLayoutAutomatichow to lay out vertices and edges
    PerformanceGoalAutomaticaspects of performance to try to optimize
    PlotTheme$PlotThemeoverall theme for the graph
    VertexCoordinatesAutomaticcoordinates for vertices
    VertexLabelsNonelabels and placements for vertices
    VertexLabelStyleAutomaticstyle to use for vertex labels
    VertexShapeAutomaticgraphic shape for vertices
    VertexShapeFunctionAutomaticgenerate graphic shapes for vertices
    VertexSizeMediumsize of vertices
    VertexStyleAutomaticstyles for vertices
    VertexWeightAutomaticweights for vertices
  • Possible settings for PlotTheme include common base themes, color feature themes, font features themes, and size features themes.
  • Graph feature themes affect the plots of vertices and edges. Feature themes include:
  • "LargeGraph"large graph
    "ClassicLabeled"classic graph
    "IndexLabeled"index labeled graph
    "NameLabeled"name labeled graph
  • AnnotationRules->{a->{name1->val1,…},…} associates the property name1->val1 etc. with a that can be a vertex, edge, or the graph itself. The following strings for a have special meanings:
  • "DefaultEdgeProperties"default edge properties
    "DefaultVertexProperties"default vertex properties
    "GraphProperties"properties for the graph itself
  • With the setting VertexCoordinates->Automatic, the placement of vertices and routing of edges is computed automatically, based on the setting for GraphLayout.
  • Style and other specifications for edges are effectively applied in the order PlotTheme, EdgeStyle, GraphHighlightStyle, Style and other wrappers, and EdgeShapeFunction, with later specifications overriding earlier ones.
  • Style and other specifications for vertices are effectively applied in the order PlotTheme, VertexStyle, GraphHighlightStyle, Style and other wrappers, and VertexShapeFunction, with later specifications overriding earlier ones.
  • Label style and other specifications for edge labels are effectively applied in the order PlotTheme, EdgeLabelStyle, GraphHighlightStyle, Labeled, and EdgeLabels, with later specifications overriding earlier ones.
  • Label style and other specifications for vertex labels are effectively applied in the order PlotTheme, VertexLabelStyle, GraphHighlightStyle, Labeled, and VertexLabels, with later specifications overriding earlier ones.
  • List of all options

    • AlignmentPointCenterthe default point in the graphic to align with
      AnnotationRules{}annotations for graph, edges and vertices
      AspectRatioAutomaticratio of height to width
      AxesFalsewhether to draw axes
      AxesLabelNoneaxes labels
      AxesOriginAutomaticwhere axes should cross
      AxesStyle{}style specifications for the axes
      BackgroundNonebackground color for the plot
      BaselinePositionAutomatichow to align with a surrounding text baseline
      BaseStyle{}base style specifications for the graphic
      ContentSelectableAutomaticwhether to allow contents to be selected
      CoordinatesToolOptionsAutomaticdetailed behavior of the coordinates tool
      DirectedEdgesAutomaticwhether to interpret Rule as DirectedEdge
      EdgeLabelsNonelabels and label placements for edges
      EdgeLabelStyleAutomaticstyle to use for edge labels
      EdgeShapeFunctionAutomaticgenerate graphic shapes for edges
      EdgeStyleAutomaticstyle used for edges
      EdgeWeightAutomaticweights for edges
      Epilog{}primitives rendered after the main plot
      FormatTypeTraditionalFormthe default format type for text
      FrameFalsewhether to put a frame around the plot
      FrameLabelNoneframe labels
      FrameStyle{}style specifications for the frame
      FrameTicksAutomaticframe ticks
      FrameTicksStyle{}style specifications for frame ticks
      GraphHighlight{}graph elements to highlight
      GraphHighlightStyleAutomaticstyle for highlight
      GraphLayoutAutomatichow to lay out vertices and edges
      GridLinesNonegrid lines to draw
      GridLinesStyle{}style specifications for grid lines
      ImageMargins0.the margins to leave around the graphic
      ImagePaddingAllwhat extra padding to allow for labels etc.
      ImageSizeAutomaticthe absolute size at which to render the graphic
      LabelStyle{}style specifications for labels
      MethodAutomaticdetails of graphics methods to use
      PerformanceGoalAutomaticaspects of performance to try to optimize
      PlotLabelNonean overall label for the plot
      PlotRangeAllrange of values to include
      PlotRangeClippingFalsewhether to clip at the plot range
      PlotRangePaddingAutomatichow much to pad the range of values
      PlotRegionAutomaticthe final display region to be filled
      PlotTheme$PlotThemeoverall theme for the graph
      PreserveImageOptionsAutomaticwhether to preserve image options when displaying new versions of the same graphic
      Prolog{}primitives rendered before the main plot
      RotateLabelTruewhether to rotate y labels on the frame
      TicksAutomaticaxes ticks
      TicksStyle{}style specifications for axes ticks
      VertexCoordinatesAutomaticcoordinates for vertices
      VertexLabelsNonelabels and placements for vertices
      VertexLabelStyleAutomaticstyle to use for vertex labels
      VertexShapeAutomaticgraphic shape for vertices
      VertexShapeFunctionAutomaticgenerate graphic shapes for vertices
      VertexSizeMediumsize of vertices
      VertexStyleAutomaticstyles for vertices
      VertexWeightAutomaticweights for vertices

Examples

open all close all

Basic Examples  (5)

An undirected graph:

A directed graph:

Style vertices and edges:

Use wrappers to input directly:

Label vertices and edges:

Use different vertices and edges:

Scope  (27)

Connectivity  (8)

Create an undirected graph using  characters. Enter the character as ue:

Create a directed graph using  characters. Enter the character as de:

Create a directed graph from a list of rules:

Create an undirected graph from a list of rules:

Specify a graph with isolated vertices by giving an explicit list of vertices:

Use VertexList and EdgeList to get vertices and edges:

The ordering for edges is the order in which they were entered:

The ordering for vertices is the order in which they were entered in the edges:

Use an explicit vertex list to control the ordering used by VertexList:

The input vertex list controls the resulting vertex order:

Create undirected or directed graphs with self-loops:

Any expression can be used as vertices:

Wrappers  (5)

Use wrappers on vertices or edges:

Wrappers can be nested:

Add interactive behavior by wrappers such as Tooltip:

Any object can be used in the tooltip:

Use Button to trigger actions when clicking an edge or vertex:

Use PopupWindow to provide information drilldown:

Styling  (8)

Set the style for all vertices or edges:

Style individual vertices or edges using options:

Use wrappers for individual styling:

Adjust the size of vertices using symbolic sizes:

Or use sizes in terms of the smallest distance between vertex centers:

Use built-in collections for VertexShapeFunction:

Rounded shapes:

Concave shapes:

Draw individual vertices:

Combine with a default vertex function:

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

Use built-in collections for EdgeShapeFunction:

Directed edges including solid arrows:

Line arrows:

Open arrows:

Specify an edge function for an individual edge:

Combine with a different default edge function:

Labeling  (6)

Label any edge or vertex:

Use any expression as a label:

Control the placement of vertex labels using Placed, including symbolic inside positions:

Symbolic outside positions:

Coordinate-based positions:

Place multiple labels using Placed in a wrapper:

Any number of labels can be used:

Place multiple labels using VertexLabels:

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

Use explicit coordinates to place labels:

Place multiple labels using Placed in a wrapper:

Any number of labels can be used:

Place multiple labels using EdgeLabels:

Options  (85)

AnnotationRules  (2)

Specify an annotation for vertices:

Edges:

DirectedEdges  (2)

By default, a directed graph is generated when giving a list of rules:

Use DirectedEdges->False to interpret rules as undirected edges:

Use DirectedEdge or UndirectedEdge to directly specify whether a graph is directed or not:

EdgeLabels  (7)

Label the edge 12:

Label all edges individually:

Use any expression as a label:

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 using Placed in a wrapper:

Any number of labels can be used:

Place multiple labels using EdgeLabels:

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  (4)

Style all edges:

Style individual edges:

EdgeStyle can be combined with EdgeShapeFunction:

EdgeShapeFunction has higher priority than EdgeStyle:

EdgeStyle can be combined with BaseStyle:

EdgeStyle has higher priority than BaseStyle:

EdgeWeight  (2)

Specify a weight for all edges:

Use any numeric expression as a weight:

GraphHighlight  (3)

Highlight the vertex 1:

Highlight the edge 23:

Highlight vertices and edges:

GraphHighlightStyle  (2)

Get a list of built-in settings for GraphHighlightStyle:

Use built-in settings for GraphHighlightStyle:

GraphLayout  (5)

By default, the layout is chosen automatically:

Specify layouts on special curves:

Specify layouts that satisfy optimality criteria:

VertexCoordinates overrides GraphLayout coordinates:

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  (14)

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 all labels at the center of vertices:

Place multiple labels using Placed in a wrapper:

Any number of labels can be used:

Place multiple labels using VertexLabels:

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  (11)

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 using a predefined graphic:

Draw vertices by running a program:

VertexShapeFunction can be combined with VertexStyle:

VertexShapeFunction has higher priority than VertexStyle:

VertexShapeFunction can be combined with VertexSize:

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  (5)

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:

VertexShape is not affected by VertexStyle:

VertexWeight  (2)

Set the weight for all vertices:

Use any numeric expression as a weight:

Applications  (4)

Build a graph of a finite mapping:

Draw the graph of a random permutation:

Use Table to set similar annotations for many items:

Generate a network of "nearby" words in a dictionary:

Properties & Relations  (3)

Use VertexCount and EdgeCount to count vertices and edges:

Use VertexList and EdgeList to enumerate vertices and edges in standard order:

Edges and vertices are given in the order they are input:

Compute the AdjacencyMatrix from a graph:

The row-column ordering is given by VertexList:

Possible Issues  (2)

Graph objects are atomic raw objects:

Use GraphQ to test whether it is a graph:

Parallel edges are undistinguishable in Graph:

Use EdgeTaggedGraph to assign a unique tag to each edge:

See Also

TreeGraph  PathGraph  AdjacencyGraph  IncidenceGraph  GraphData  Graph3D

Entity Types: Graph

Interpreter Types: Graph  ComputedGraph

Formats: Graphlet  DOT  GraphML

Related Guides

    ▪
  • Graph Construction & Representation
  • ▪
  • Graph Visualization
  • ▪
  • Graphs & Networks
  • ▪
  • Discrete Mathematics
  • ▪
  • Social Network Analysis
  • ▪
  • Graph Layouts
  • ▪
  • WDF (Wolfram Data Framework)
  • ▪
  • Life Sciences & Medicine: Data & Computation
  • ▪
  • Scientific Models
  • ▪
  • Molecular Structure & Computation
  • ▪
  • Scientific Data Analysis
  • ▪
  • Database Connectivity
  • ▪
  • Wolfram Data Repository

Related Links

  • An Elementary Introduction to the Wolfram Language : Graphs and Networks

History

Introduced in 2010 (8.0) | Updated in 2014 (10.0) ▪ 2016 (10.4) ▪ 2017 (11.2) ▪ 2021 (13.0) ▪ 2022 (13.1)

Wolfram Research (2010), Graph, Wolfram Language function, https://reference.wolfram.com/language/ref/Graph.html (updated 2022).

Text

Wolfram Research (2010), Graph, Wolfram Language function, https://reference.wolfram.com/language/ref/Graph.html (updated 2022).

CMS

Wolfram Language. 2010. "Graph." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2022. https://reference.wolfram.com/language/ref/Graph.html.

APA

Wolfram Language. (2010). Graph. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Graph.html

BibTeX

@misc{reference.wolfram_2025_graph, author="Wolfram Research", title="{Graph}", year="2022", howpublished="\url{https://reference.wolfram.com/language/ref/Graph.html}", note=[Accessed: 01-December-2025]}

BibLaTeX

@online{reference.wolfram_2025_graph, organization={Wolfram Research}, title={Graph}, year={2022}, url={https://reference.wolfram.com/language/ref/Graph.html}, note=[Accessed: 01-December-2025]}

Top
Introduction for Programmers
Introductory Book
Wolfram Function Repository | Wolfram Data Repository | Wolfram Data Drop | Wolfram Language Products
Top
  • Products
  • Wolfram|One
  • Mathematica
  • Notebook Assistant + LLM Kit
  • System Modeler

  • Wolfram|Alpha Notebook Edition
  • Wolfram|Alpha Pro
  • Mobile Apps

  • Wolfram Player
  • Wolfram Engine

  • Volume & Site Licensing
  • Server Deployment Options
  • Consulting
  • Wolfram Consulting
  • Repositories
  • Data Repository
  • Function Repository
  • Community Paclet Repository
  • Neural Net Repository
  • Prompt Repository

  • Wolfram Language Example Repository
  • Notebook Archive
  • Wolfram GitHub
  • Learning
  • Wolfram U
  • Wolfram Language Documentation
  • Webinars & Training
  • Educational Programs

  • Wolfram Language Introduction
  • Fast Introduction for Programmers
  • Fast Introduction for Math Students
  • Books

  • Wolfram Community
  • Wolfram Blog
  • Public Resources
  • Wolfram|Alpha
  • Wolfram Problem Generator
  • Wolfram Challenges

  • Computer-Based Math
  • Computational Thinking
  • Computational Adventures

  • Demonstrations Project
  • Wolfram Data Drop
  • MathWorld
  • Wolfram Science
  • Wolfram Media Publishing
  • Customer Resources
  • Store
  • Product Downloads
  • User Portal
  • Your Account
  • Organization Access

  • Support FAQ
  • Contact Support
  • Company
  • About Wolfram
  • Careers
  • Contact
  • Events
Wolfram Community Wolfram Blog
Legal & Privacy Policy
WolframAlpha.com | WolframCloud.com
© 2025 Wolfram
© 2025 Wolfram | Legal & Privacy Policy |
English