plots the flows between geo locations.


plots the values vali for the edges ei.


plots the flow for a graph g with associated edge weights.

Details and Options

  • GeoGraphValuePlot is also known as a flow map, distributive flow lines, origin-destination flow maps and thematic map.
  • GeoGraphValuePlot is used to show the flow of entities such as goods and people between various locations on the Earth by styling the edges in a graph according to the relative sizes of the flows.
  • An undirected edge ei between vertices u and v can be given as uv, u<->v, UndirectedEdge[u,v] or TwoWayRule[u,v]. The character can be entered as ue.
  • A directed edge ei from u to v can be given as uv, u->v, DirectedEdge[u,v] or Rule[u,v]. The character can be entered as de.
  • The geo locations srci and desti can be given in the following forms:
  • GeoPosition[{lat,lon}]latitude and longitude
    Entity[]geographic entity
    Dated[ent,date]dated entity
    Image[]geo-tagged image
  • The graph g can be any edge-weighted graph with geographic vertices.
  • The option VertexCoordinates can be used to specify geo locations for vertices that do not already contain them, using the same forms to represent geo locations.
  • The values vali can be given in the following forms:
  • valipositive number
    Quantity[vali,unit]magnitude with units
  • Data not given in these forms is omitted from the plot.
  • 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
  • GeoGraphValuePlot takes the same options as GeoGraphics, with the following additions and changes:
  • ClippingStyle Automatichow to style edges outside the value ranges
    ColorFunction Nonehow to determine the coloring of edges
    ColorFunctionScaling Truewhether to scale arguments to ColorFunction
    EdgeLabelsNonelabels and placements for edges
    EdgeLabelStyleAutomaticstyle to use for edge labels
    EdgeShapeFunctionAutomaticgenerate graphic shapes for edges
    EdgeStyle Automaticstyles for edges
    EdgeValueRange Automaticrange of edge values to show
    EdgeValueSizes Automaticrange of sizes for edge values
    GraphHighlight{}vertices and edges to highlight
    GraphHighlightStyleAutomaticstyle for highlight
    GraphLayout Automatichow to lay out vertices and edges
    Method Automaticmethod to use
    MinPointSeparation Automaticwhen to combine nearby vertices
    MissingStyleNonehow to display edges with no weights
    PerformanceGoalAutomaticaspects of performance to try to optimize
    PlotStyleAutomaticgraphics directives to determine styles
    PlotTheme Automaticoverall theme for the graph
    ScalingFunctions Nonehow to scale values
    TargetUnitsAutomaticunits to use for values
    VertexCoordinates Automaticcoordinates for vertices
    VertexLabels Nonelabels and placements for vertices
    VertexLabelStyle Automaticstyle to use for vertex labels
    VertexShape Automaticgraphic shape for vertices
    VertexShapeFunction Automaticgenerate graphic shapes for vertices
    VertexSize Automaticsize of vertices
    VertexStyle Automaticstyles for vertices
  • EdgeValueRange specifies what range of edge flows to include in the plot.
  • The following settings can be given for for EdgeValueRange:
  • Allinclude all edges
    Automaticautomatically select the edges to include
    {min,max}include edges with weights between min and max
  • Edges whose sizes are outside the value range are displayed using ClippingStyle.
  • EdgeValueSizes specifies the range of thicknesses used to display the edge flows.
  • The following settings can be given for EdgeValueSizes:
  • Automaticdetermine edge sizes automatically
    Large,Medium,Small,Tinyuse preset edge sizes
    {smin,smax}use minimum size smin and maximum size smax
    smaxuse maximum size smax
    Noneuse the same size for all edges
  • With the default setting MissingStyleNone, edges without a numeric weight are omitted from the plot.
  • ScalingFunctionsscale is used to scale the edge weights. Possible settings for scale include:
  • Noneuse linear scaling
    "Log"use logarithmic scaling
    "Reciprocal"use reciprocal scaling
    {f,f-1}use function f and inverse function
  • GraphLayout specifies where to draw the edges connecting geographic locations.
  • Possible settings for GraphLayout include:
  • Automaticautomatically compute edges
    "StraightLine"use straight lines as edges
    "Geodesic"use geodesics as edges
    "Rhumb"use rhumb lines as edges
    "Driving","Walking","Cycling"transportation methods
  • By default, the edges generated by GeoGraphValuePlot are abstract paths, showing self-loops and multiple edges between two vertices when present in the graph.
  • If a travel path cannot be found between two vertices, the edge will use "StraightLine" instead.
  • EdgeShapeFunctionfunc specifies that each vertex should be rendered with the primitives provided by func[{pt1,pt2},vw], where pt1 and pt2 are the geographic locations of the vertices for the edge vw.
  • VertexLabelsAutomatic automatically labels vertices that are named locations. Vertices that are specified using latitude and longitude are left unlabeled.
  • Graph features themes affect the plot of vertices and edges. Feature themes include:
  • "LargeGraph"large graph
    "NameLabeled"classic graph
    "IndexLabeled"index-labeled graph


open allclose all

Basic Examples  (2)

Show the flow between cities by varying the thickness of the edges:

Plot an undirected flow graph:

Scope  (31)

Data  (5)

Use geo entities as the vertices in a flow graph:

Use geo locations as the vertices in a graph:

Plot an undirected flow graph:

Use geo-tagged images as graph vertices:

Use VertexCoordinates to position vertices:

Labeling  (4)

Use Labeled to label a particular edge flow:

Label all the vertices:

Use Labeled to label a specific vertex:

Use VertexLabels to label a specific vertex:

Edge and Vertex Wrappers  (4)

Apply a tooltip to Paris:

Give colors for specific vertices:

Specify colors for specific flow edges:

Attach a Hyperlink to a specific flow edge:

Graph Styling  (18)

Style individual flow edges:

Style all flow edges:

Set the style for all vertex labels:

Color specific vertices:

Specify the style for individual vertices:

Draw vertices using a predefined vertex function:

Specify a vertex function for an individual vertex:

Draw vertices by running a program:

Plot an undirected flow graph:

Specify a GraphLayout:

Use a satellite map for the background:

Use the Bonne projection for the map:

Use GeoRangePaddingNone to remove padding:

Use 350 kilometers of padding on each side of the map:

Show parallels and meridians:

Specify the spacing between them:

Specify parallel and meridians rendering:

Show a flow thickness legend:

Show a color legend when the sizes of flows are None:

Options  (54)

AspectRatio  (3)

By default, the ratio of the height to the width for the plot is determined based on values:

Make the height the same as the width with AspectRatio1:

AspectRatioFull adjusts the height and width to tightly fit inside other constructs:

Axes  (4)

By default, axes are not drawn for GeoGraphPlot:

Use AxesTrue to turn on axes:

Use AxesOrigin to specify where the axes intersect:

Turn each axis on individually:

AxesStyle  (4)

Change the style for the axes:

Specify the style of each axis:

Use different styles for the ticks and the axes:

Use different styles for the labels and the axes:

ClippingStyle  (1)

Use a specific style for flows out of the flow range:

ColorFunction  (1)

Use a "Rainbow" color scheme for flows:

EdgeStyle  (1)

Style all edges:

EdgeWeight  (2)

Label each edge with its weight, in this case corresponding to the distance between vertices:

Set the weights of the edges of a flow graph:

EdgeValueRange  (1)

Show all the flows between 2 and 4:

EdgeValueSizes  (4)

Use the same flow sizes:

Use custom flow sizes:

Set a maximum size of flows:

Set a range of flow sizes:

GeoBackground  (1)

Use a vector map style as geo background:

GeoCenter  (1)

Plot a nearest US cities graph centered at the current location:

GeoGridLines  (1)

Show parallel and meridians:

GeoGridLinesStyle  (1)

Specify parallel and meridians rendering:

GeoModel  (1)

Use Mars as the reference body:

GeoProjection  (1)

Use the Mercator projection for the map:



GeoRange  (2)

Specify the region to show:

Specify the corners of the geo range as geo positions:

GeoRangePadding  (2)

Use GeoRangePaddingNone to remove padding:

Use 350 kilometers of padding on each side of the map:

GraphLayout  (2)

Use geodesics as edges:

Use a transportation method as edges:

Method  (1)

Remove the edge highlighting and tooltips:

MinPointSeparation  (2)

Combine vertices that are separated by less than 10% of the overall map size:

Show all the vertices in the graph:

PlotLegends  (2)

Show a flow thickness legend:

Show a color legend when the sizes of flows are None:

PlotTheme  (1)

Use a plot theme:

ScalingFunctions  (2)

Use a linear scaling for flow sizes by default:

Use a logarithmic scaling:

VertexCoordinates  (2)

Use VertexCoordinates to locate vertices:

Use VertexCoordinates to specify the location of a vertex:

VertexLabels  (2)

Label all vertices with the geo entity name:

Label individual vertices:

VertexLabelStyle  (2)

Set the style for all vertex labels:

Specify the style for individual vertex labels:

VertexShape  (1)

Use custom shapes for vertices:

Use images for vertices:

VertexShapeFunction  (3)

Draw vertices using a predefined vertex function:

Specify a vertex function for an individual vertex:

Draw vertices by running a program:

VertexSize  (1)

Use named sizes for the vertices:

VertexStyle  (2)

Set the style for all vertices:

Specify the style for individual vertices:

Applications  (4)

Display the import partners for the largest world economies:

Show the number of flights in the USA during 2018:

Plot the total migration flow greater than 100,000 people around the world:

Show Minard's visualization of the successive losses of the French Army during the Russian Campaign between 1812 and 1813:

Properties & Relations  (9)

Use GeoGraphPlot to plot relationships between geographic locations on a map:

Use GeoBubbleChart to show values with scaled bubbles:

Use GeoRegionValuePlot to show values with colored regions:

Use GeoListPlot to show the locations of geographic locations and entities:

Use GeoHistogram to aggregate locations into bins:

Use GeoSmoothHistogram to generate smooth densities from locations:

Use GeoVectorPlot and GeoStreamPlot for vector fields:

Draw contours on a map with GeoContourPlot:

Smoothly shade a map using color with GeoDensityPlot:

Wolfram Research (2021), GeoGraphValuePlot, Wolfram Language function,


Wolfram Research (2021), GeoGraphValuePlot, Wolfram Language function,


Wolfram Language. 2021. "GeoGraphValuePlot." Wolfram Language & System Documentation Center. Wolfram Research.


Wolfram Language. (2021). GeoGraphValuePlot. Wolfram Language & System Documentation Center. Retrieved from


@misc{reference.wolfram_2023_geographvalueplot, author="Wolfram Research", title="{GeoGraphValuePlot}", year="2021", howpublished="\url{}", note=[Accessed: 07-June-2023 ]}


@online{reference.wolfram_2023_geographvalueplot, organization={Wolfram Research}, title={GeoGraphValuePlot}, year={2021}, url={}, note=[Accessed: 07-June-2023 ]}